Notes d'étude sur le développement de sites Web dynamiques 03 : Protocole HTTP

1. Présentation de HTTP

(1) Notion de HTTP

Objectif : Comprendre les concepts de HTTP

1. Le concept de HTTP

HTTP est l'abréviation de HyperText Transfer Protocol, qui est Hypertext Transfer Protocol. Il s'agit d'un protocole de requête/réponse. Une fois que le client a établi une connexion avec le serveur, il peut envoyer une requête au serveur. Cette requête est appelée requête HTTP. Le serveur répondra après avoir reçu la requête, appelée réponse HTTP. . .Veuillez ajouter une description de l'image

2. Caractéristiques du protocole HTTP

(1) Mode C/S

Le protocole HTTP supporte le mode client (le navigateur est un client Web)/serveur.

(2) Simple et rapide

Lorsque le client demande des services au serveur, il lui suffit de transmettre la méthode et le chemin de la demande. Les méthodes de requête couramment utilisées incluent GET, POST, etc. Différentes méthodes de requête spécifient différents types de contact entre le client et le serveur. HTTP est relativement simple, ce qui rend la taille du programme du serveur HTTP petite, donc la vitesse de communication est très rapide.

(3) Souple

HTTP permet la transmission de tout type de données, et le type de données transmises est marqué par Content-Type.

(4) Apatride

HTTP est un protocole sans état. Sans état signifie que le protocole n'a pas de capacité mémoire pour le traitement des transactions. Si le traitement ultérieur nécessite des informations préalables, elles doivent être retransmises, ce qui peut augmenter la quantité de données transmises par connexion.

(2) HTTP 1.0 et HTTP 1.1

Objectif : Comprendre les caractéristiques et les différences entre HTTP 1.0 et HTTP1.1

1. Développement de HTTP

Depuis sa naissance, HTTP a connu de nombreuses versions, parmi lesquelles la première version est HTTP 0.9, sortie en 1990. Plus tard, afin d'améliorer encore HTTP, la version HTTP 1.0 a été publiée en 1996 et la version HTTP 1.1 a été publiée en 1997. La version HTTP 0.9 étant obsolète, nous ne l’expliquerons pas trop ici.

2. Introduction à HTTP1.0

(1) Définition de HTTP1.0

Au cours du processus d'interaction entre le client et le serveur basé sur le protocole HTTP 1.0, ils doivent passer par quatre étapes : établir une connexion, envoyer des informations de demande, renvoyer des informations de réponse et fermer la connexion.
Veuillez ajouter une description de l'image

(2) Inconvénients de HTTP1.0

Une fois que le client a établi une connexion avec le serveur, il ne peut traiter qu'une seule requête HTTP à la fois. Pour les pages Web riches en contenu, cette méthode de communication est évidemment imparfaite.
Par exemple, un extrait de code HTML basé sur le protocole HTTP 1.0

<html>
	<body>
		<img src="/image01.jpg">
		<img src="/image02.jpg">
		<img src="/image03.jpg">
	</body>	
</html>

3. Introduction à HTTP1.1

Afin de surmonter les inconvénients mentionnés ci-dessus liés à l'interaction fastidieuse entre le client et le serveur HTTP 1.0, la version HTTP 1.1 a été créée. Elle prend en charge les connexions persistantes, ce qui signifie que plusieurs requêtes et réponses HTTP peuvent être transmises sur une connexion TCP, réduisant l'établissement et la fermeture de la consommation et de la latence de la connexion.
Veuillez ajouter une description de l'image

4. Messages HTTP

Objectif : Se familiariser avec la composition des messages HTTP

(1) Notion de messages HTTP

Lorsqu'un utilisateur accède à une adresse URL dans le navigateur, clique sur un lien hypertexte sur la page Web ou soumet un formulaire sur la page Web, le navigateur envoie les données de requête au serveur, c'est-à-dire un message de requête HTTP. Une fois que le serveur a reçu les données de la demande, il envoie les données traitées au client, qui est un message de réponse HTTP. Les messages de requête HTTP et les messages de réponse HTTP sont collectivement appelés messages HTTP.

(2) Utilisez le navigateur pour afficher les messages HTTP

Entrez www.baidu.com dans la barre d'adresse de Google Chrome pour visiter la page d'accueil de Baidu, appuyez sur la touche F12 pour accéder à la page de débogage des outils de développement et vous pourrez voir l'adresse URL demandée dans la colonne d'informations de demande de [Réseau].
Veuillez ajouter une description de l'image
Veuillez ajouter une description de l'image
Veuillez ajouter une description de l'image
Veuillez ajouter une description de l'image
Veuillez ajouter une description de l'image

2. Informations sur la requête HTTP

(1) Ligne de requête HTTP

Objectif : Se familiariser avec la ligne de requête HTTP

1. Ligne de requête HTTP

La ligne de requête HTTP se situe dans la première ligne du message de requête. Elle comprend trois parties, à savoir la méthode de requête, le chemin de la ressource et la version HTTP utilisée. Exemple précis : GET /index.html HTTP/1.1 GET est la méthode de requête ,
index.html est le chemin de ressource demandé et HTTP/1.1 est la version du protocole utilisée pour la communication. Il convient de noter que chaque partie de la ligne de requête doit être séparée par des espaces et doit se terminer par un retour chariot et un saut de ligne.

2. Méthode de requête HTTP

Méthode de requête signifiant
les requêtes GET pour obtenir la ressource identifiée par l'URI de la ligne de requête.
POST soumet des données à la ressource spécifiée et demande au serveur de traiter (comme la soumission d'un formulaire ou le téléchargement d'un fichier)
les requêtes HEAD pour obtenir l'en-tête de réponse du ressource identifiée par l'URI
PUT place la page Web dans Spécifier l'emplacement de l'URL (télécharger/déplacer)
DELETE Demander au serveur de supprimer la ressource identifiée par l'URI
TRACE Demander au serveur de renvoyer les informations de demande reçues, principalement utilisées pour les tests ou le diagnostic
CONNECT Réserve pour une utilisation future
OPTIONS Demande d'interrogation des performances du serveur ou d'interrogation d'informations relatives aux ressources Options et exigences

1) Méthode OBTENIR

Lorsque l'utilisateur saisit directement une adresse URL dans la barre d'adresse du navigateur ou clique sur un lien hypertexte sur la page Web, le navigateur utilise la méthode GET pour envoyer une requête. Si l'attribut de méthode du formulaire sur la page Web est défini sur « GET » ou si l'attribut de méthode n'est pas défini (la valeur par défaut est GET), lorsque l'utilisateur soumet le formulaire, le navigateur utilisera également la méthode GET pour envoyer le demande.
S'il y a une partie paramètre dans l'URL demandée par le navigateur, dans le message de requête généré par le navigateur, la partie paramètre sera ajoutée au chemin de ressource dans la ligne de requête.
Adresse URL : http://www.lzy.cn/javaForum?name=howard&pwd=123456, le contenu après "?" est des informations sur les paramètres. Les paramètres sont constitués de noms de paramètres et de valeurs de paramètres et sont connectés à l'aide d'un signe égal (=). S'il y a plusieurs paramètres dans l'adresse URL, séparez-les par "&".
Lorsque le navigateur envoie un message de requête au serveur, la partie paramètre sera ajoutée à la ressource URI à laquelle accéder : GET /javaForum?name=howard&pwd=123456. Il est à noter que la quantité de données transmises à l'aide de la méthode GET est limité et ne peut excéder 2 Ko au maximum. .

(2) Méthode POST

Si l'attribut de méthode du formulaire sur la page Web est défini sur "POST", lorsque l'utilisateur soumet le formulaire, le navigateur utilisera la méthode POST pour soumettre le contenu du formulaire et enverra les éléments et les données du formulaire au serveur comme contenu d'entité du message HTTP au lieu de Passé en tant que paramètre à l'adresse URL. De plus, lors de l'utilisation de POST pour transmettre des données au serveur, l'en-tête Content-Type sera automatiquement défini sur "application/x-www-form-urlencoded", et l'en-tête Content-Length sera automatiquement défini sur la longueur du contenu de l'entité.

POST /javaForum HTTP/1.1
Host: www.lzy.cn
Content-Type: application/x-www-form-urlencoded
Content-Length: 22
name=howard&pwd=123456 

(2) En-tête de requête HTTP

Objectif : Familiarisé avec les en-têtes de requêtes HTTP

1. En-tête de requête HTTP

Dans le message de requête HTTP, la ligne de requête est suivie de plusieurs en-têtes de requête. Les en-têtes de requête sont principalement utilisés pour fournir des informations supplémentaires au serveur, telles que les types de données que le client peut recevoir, les méthodes de compression, les langues et l'adresse URL de la page à laquelle appartient l'hyperlien demandé.

Host: localhost:8080
Accept: image/gif, image/x-xbitmap, *
Referer: http://localhost:8080/lzy/
Accept-Language: zh-cn,zh;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate
Content-Type: application/x-www-form-urlencoded
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 10.0; GTB6.5; CIBA)
Connection: Keep-Alive
Cache-Control: no-cache

2. Champs d'en-tête de requête HTTP

Description du champ d'en-tête
Le champ d'en-tête Accept permet d'indiquer le type MIME (MultiPurpose Internet Mail Extension) que le programme client (généralement un navigateur) peut gérer. Le champ d'en-tête Accept-Charset permet d'informer le serveur
du jeu de caractères utilisé par le client.
Accept -Encoding Le champ d'en-tête Accept-Encoding est utilisé pour spécifier la méthode de codage des données que le client peut décoder. La méthode de codage ici fait généralement référence à une certaine méthode de compression. Le champ d'en-tête Accept-Language est utilisé pour spécifier quel
pays le client s'attend à ce que le serveur revienne. Document de langue
Autorisation Lorsqu'un client accède à une page Web protégée par mot de passe, le serveur Web enverra un code d'état de réponse 401 et un en-tête de réponse WWW-Authenticate, exigeant que le client utilise l'en-tête de demande d'autorisation pour répondre à Proxy-Authorization. Le rôle du champ d'en-tête Proxy-Authorization est le même
que L'utilisation est fondamentalement la même que celle du champ d'en-tête Authorization, sauf que l'en-tête de requête Proxy-Authorization est l'information de vérification envoyée par le serveur au proxy. serveur. Le
champ d'en-tête Host est utilisé pour spécifier le nom d'hôte et le numéro de port où se trouve la ressource.
If-Match, lorsque le client demande à nouveau cette page Web au serveur, vous pouvez utiliser le champ d'en-tête If-Match pour joindre le contenu de la balise d'entité précédemment mis en cache. Cette requête est considérée comme une requête conditionnelle.
If-Modified-Since La fonction de l'en-tête de requête If-Modified-Since est similaire à If-Mach, sauf que sa plage de temps avec une valeur en GMT format
est utilisé pour spécifier que le serveur n'a besoin de renvoyer qu'une partie du contenu et de la plage de contenu du document. Ceci est très utile pour reprendre le téléchargement de documents plus volumineux.
If-Range Le champ d'en-tête If-Range ne peut être utilisé qu'avec le champ d'en-tête Range. Sa valeur peut être une balise d'entité ou une heure au format GMT. Max-Forward spécifie le
nombre de serveurs proxy par lesquels la requête actuelle peut passer. Chaque fois qu'il passe par un serveur proxy, cette valeur est juste moins 1
Referer Le champ d'en-tête Referer est très utile et est souvent utilisé par les administrateurs de sites Web pour suivre la manière dont les visiteurs du site Web naviguent vers le site Web. Dans le même temps, le champ d'en-tête Referer peut également être utilisé pour empêcher les liens dynamiques sur le site Web
. User-Agent. User-Agent est appelé agent utilisateur en chinois, ou UA en abrégé. Il est utilisé pour spécifier le système d'exploitation et la version, navigateur et version utilisée par le navigateur ou d'autres programmes clients. Moteur de rendu du navigateur, langue du navigateur, etc. afin que le serveur renvoie un contenu différent pour différents types de navigateurs.

(1) Accepter le champ d'en-tête de la demande

Le champ d'en-tête Accepter est utilisé pour indiquer les types MIME (MultiPurpose Internet Mail Extensions) que le programme client (généralement un navigateur) peut gérer. Par exemple, si le navigateur et le serveur prennent en charge les images de type png, le navigateur peut envoyer un champ d'en-tête Accept contenant image/png, et le serveur vérifie que l'en-tête Accept contient le type MIME image/png, qui peut être dans le fichier img. élément dans la page Web. Utilisez des fichiers de type png. Il existe de nombreux types MIME. Par exemple, les types MIME suivants peuvent être utilisés comme valeur du champ d'en-tête Accepter.
Accepter : text/html, indiquant que le client souhaite accepter le texte HTML.
Accepter : image/gif, indiquant que le client souhaite accepter les ressources au format image GIF.
Accepter : image/*, indiquant que le client peut accepter tous les sous-types de format d'image.
Accepter : / , indiquant que le client peut accepter le contenu dans tous les formats.
1
2
3
4

(2) Champ d'en-tête de demande Accept-Encoding

Le champ d'en-tête Accept-Encoding est utilisé pour spécifier la méthode de codage des données que le client peut décoder. La méthode de codage ici fait généralement référence à une certaine méthode de compression. Dans le champ d'en-tête Accept-Encoding, vous pouvez spécifier plusieurs méthodes d'encodage de données, séparées par des virgules. Exemples spécifiques : Accept-Encoding : gzip, compress gzip
et compress sont les méthodes d'encodage de données les plus courantes. La compression et l'encodage du contenu d'entités plus volumineuses avant de le transmettre peuvent économiser la bande passante du réseau et le temps de transmission. Après avoir reçu cet en-tête de requête, le serveur utilise l'un des formats spécifiés pour compresser et encoder le contenu du document original, puis l'envoie au client en tant que contenu d'entité du message de réponse, et indique dans l'en-tête de réponse Content-Encoding où le Le contenu de l'entité est le format de codage de compression utilisé. Une fois que le navigateur a reçu le contenu de cette entité, il doit le décompresser à l'envers.

(3)Champ d'en-tête de demande d'hôte

Le champ d'en-tête Host est utilisé pour spécifier le nom d'hôte et le numéro de port où se trouve la ressource. Le format est le même que le nom d'hôte et le numéro de port dans l'URL complète de la ressource. Exemple spécifique : Hôte : www.lzy.cn : 80 est le port utilisé par défaut lorsque le navigateur se connecte au serveur
. Le numéro de port est 80, donc les informations sur le numéro de port ":80" après "www.lzy.cn" peuvent être omises. Il convient de noter que dans HTTP 1.1, chaque message de requête envoyé par le navigateur et les autres clients doit inclure le champ d'en-tête de requête Host afin que le serveur Web puisse distinguer le serveur virtuel auquel le client souhaite accéder en fonction du nom d'hôte dans le champ Host. champ d’en-tête. Lorsque le navigateur accède à un site Web, il génère automatiquement l'en-tête de demande d'hôte correspondant en fonction de l'adresse URL dans la barre d'adresse.

(4) Champ d'en-tête de requête If-Modified-Since

L'en-tête de requête If-Modified-Since est similaire à If-Mach, sauf que sa valeur est l'heure au format GMT. L'en-tête de requête If-Modified-Since est considéré comme une condition de requête. Le serveur renverra le contenu du document uniquement si l'heure de modification du document sur le serveur est plus récente que l'heure spécifiée par l'en-tête de requête If-Modified-Since. Sinon, le serveur renverra un code d'état 304 (Non modifié) pour indiquer que le document mis en cache par le navigateur est le plus récent, sans renvoyer le contenu du document au navigateur. À ce moment, le navigateur utilisera toujours le document précédemment mis en cache. De cette manière, la quantité de données de communication entre le navigateur et le serveur peut être réduite dans une certaine mesure, améliorant ainsi l'efficacité de la communication.

(5) Champ d'en-tête de demande de référent

La demande envoyée par le navigateur au serveur peut être effectuée en saisissant directement l'adresse URL dans le navigateur, ou elle peut être effectuée en cliquant sur un lien hypertexte sur une page Web. Pour la première situation où l'adresse URL est saisie directement dans la barre d'adresse du navigateur, le navigateur n'enverra pas l'en-tête de demande Referer. Pour le deuxième cas par exemple, une page contient un hyperlien pointant vers un serveur distant. En cliquant sur cet hyperlien pour envoyer une requête GET au serveur, le navigateur inclura le champ d'en-tête Referer dans le message de requête envoyé : Hôte : www. lzy.cn:80
Le champ d'en-tête Referer est très utile et est souvent utilisé par les administrateurs de sites Web pour suivre la manière dont les visiteurs du site Web accèdent au site Web. Dans le même temps, le champ d’en-tête Referer peut également être utilisé pour empêcher les hotlinking sur le site Web.
Qu’est-ce que le hotlinking ? Supposons qu'un site Web souhaite afficher des informations sur les images sur sa page d'accueil, mais que ces ressources d'images ne soient pas disponibles sur le serveur du site Web. Il crée des liens vers des ressources d'images d'autres sites Web à l'aide de balises dans le fichier HTML et les affiche au spectateur. C'est Hotlink. Les sites Internet hotlinking augmentent le nombre de visites sur leurs propres sites Internet, mais alourdissent la charge sur les serveurs des sites Internet liés et portent atteinte à leurs intérêts légitimes. Par conséquent, afin de protéger ses propres ressources, un site Web peut utiliser l'en-tête Referer pour détecter où créer un lien vers la page Web ou la ressource actuelle. Une fois qu'il détecte un accès qui ne se fait pas via un lien sur ce site, il peut bloquer l'accès ou sauter vers une page spécifiée.

Veuillez ajouter une description de l'image

(6) Le champ d'en-tête de requête User-Agent User
-Agent est appelé User Agent en chinois, ou UA en abrégé. Il est utilisé pour spécifier le système d'exploitation et la version, le navigateur et la version, le moteur de rendu du navigateur et le navigateur utilisé par le navigateur. ou d'autres programmes clients, le langage du navigateur, etc., afin que le serveur renvoie un contenu différent pour différents types de navigateurs.
Exemple d'informations de requête User-Agent générées par Google Chrome : Mozilla/5.0 (Windows NT 10.0 ; Win64 ; x64) AppleWebKit/537.36 (KHTML, comme Gecko) Chrome/110.0.0.0 Safari/537.36 Dans l'en-tête de requête ci-dessus, User-
The Le champ d'en-tête de l'agent répertorie d'abord la version de Mozilla, puis la version du système d'exploitation (Windows NT 10.0 signifie Windows 10), le nom du moteur du navigateur (AppleWebKit/537.36) et la version du navigateur (Chrome/110.0.0.0 Safari/537.36).

3. Informations de réponse HTTP

(1) Ligne d'état de la réponse HTTP

Objectif : Se familiariser avec les 3 parties de la ligne d'état de la réponse HTTP

1. Ligne d'état de la réponse HTTP

La ligne d'état de la réponse HTTP est située dans la première ligne du message de réponse. Elle comprend trois parties, à savoir la version HTTP, un code entier indiquant le succès ou l'erreur (code d'état) et des informations textuelles décrivant le code d'état.
Exemple spécifique de ligne d'état de réponse HTTP : HTTP/1.1 200 OK
HTTP/1.1 est la version du protocole utilisée pour la communication, 200 est le code d'état et OK est la description de l'état, indiquant que la demande du client a réussi. Il convient de noter que chaque partie de la ligne de requête doit être séparée par des espaces et doit se terminer par un retour chariot et un saut de ligne.

2. Code d'état HTTP

Le code d'état se compose de 3 chiffres et indique si la demande a été comprise ou satisfaite. Le premier chiffre du code d'état de la réponse HTTP définit la catégorie de la réponse et les deux chiffres suivants n'ont pas de classification spécifique. Il existe 5 valeurs possibles pour le premier nombre.

3. Codes d'état courants dans le développement Web

La description du code d'état
200 indique que le serveur a traité avec succès la demande du client. La demande du client aboutit et le message de réponse renvoie un résultat de demande normal de
302, ce qui signifie que la ressource demandée répond temporairement à la demande à partir d'un URI différent, mais que le demandeur doit continuer à utiliser l'emplacement d'origine pour les demandes futures. Par exemple, dans une redirection de demande, l'URI temporaire doit être la ressource pointée par le champ d'en-tête Location de la réponse
304. Si le client a un document en cache, il ajoutera un en-tête de demande If-Modified-Since au message de demande. envoyé, indiquant que seulement Le serveur n'a besoin de renvoyer un nouveau document que si le document demandé a changé après l'heure spécifiée par If-Modified-Since. Le code d'état 304 indique que la version mise en cache du client est la plus récente et que le client doit continuer à l'utiliser. Sinon, le serveur renverra le document demandé avec les codes d'état 200 et
404 indiquant que le serveur ne trouve pas la ressource demandée. Par exemple, accéder à une page Web qui n'existe pas sur le serveur renvoie souvent ce code d'état
500, ce qui signifie que le serveur a une erreur et ne peut pas traiter la demande du client. Dans la plupart des cas, des erreurs se produisent dans les programmes CGI, ASP, JSP et autres du serveur. Généralement, le serveur fournira des informations d'erreur spécifiques dans le message correspondant.

2) En-tête de réponse HTTP

Objectif : Se familiariser avec les en-têtes de réponse HTTP

1. En-tête de réponse HTTP

Dans le message de réponse HTTP, la première ligne est la ligne d'état de la réponse, suivie de plusieurs en-têtes de réponse. Le serveur transmet des informations supplémentaires au client via les en-têtes de réponse, notamment le nom du programme de service, la méthode d'authentification requise pour la ressource demandée et la dernière partie de la ressource demandée par le client. Heure de modification, adresse de redirection et autres informations.
Exemples spécifiques d'en-têtes de réponse HTTP

Server: Apache-Coyote/1.1 
Content-Encoding: gzip 
Content-Length: 80  
Content-Language: zh-cn 	 
Content-Type: text/html; charset=GB2312 
Last-Modified: Mon, 06 Jul 2020 07:47:47 GMT 
Expires: -1	
Cache-Control: no-cache 
Pragma: no-cache

2. Description du champ d'en-tête du champ d'en-tête de réponse HTTP

Accept-Range est utilisé pour indiquer si le serveur accepte la demande de ressources du client à l'aide du champ d'en-tête de demande Range.
Age est utilisé pour indiquer la durée effective pendant laquelle le document de la page Web actuelle peut être mis en cache dans le client ou le serveur proxy. La valeur définie est un nombre de temps en secondes
Etag Utilisé pour transmettre au client des informations de balise représentant les caractéristiques du contenu de l'entité. Ces informations de balise sont appelées balises d'entité. Les balises d'entité de chaque version de la ressource sont différentes. Les balises d'entité peuvent être utilisées pour déterminer les entités sous la même chemin de ressource obtenu à des moments différents. Si le contenu est le même.
L'emplacement est utilisé pour informer le client d'obtenir la nouvelle adresse du document demandé. Sa valeur est une adresse URL utilisant un chemin absolu.
Retry-After peut être utilisé conjointement. avec le code d'état 503 pour indiquer au client à quelle heure la demande peut être renvoyée. Il peut également être utilisé conjointement avec n'importe quel code d'état 3xx pour indiquer au client le délai minimum de traitement des redirections. La valeur du champ d'en-tête Retry-After peut être une heure au format GMT ou un nombre d'heure en secondes. Le
serveur est utilisé pour spécifier le nom du produit logiciel serveur.
Vary est utilisé pour spécifier les champs d'en-tête de demande qui affectent la réponse. contenu généré par le serveur. Nommé
WWW-Authenticate Lorsque le client accède à un fichier de page Web protégé par mot de passe, le serveur renvoie un code d'état de réponse 01 (non autorisé) et un en-tête de réponse WWW-Authenticate dans le message de réponse, indiquant que le Le client doit utiliser WWW-Authoricate dans l'en-tête de la demande d'autorisation. La méthode d'authentification spécifiée par l'en-tête de réponse fournit des informations sur le nom d'utilisateur et le mot de passe.
Proxy-Authenticate Le champ d'en-tête Proxy-Authenticate est destiné à la vérification des informations utilisateur du serveur proxy. Son utilisation est similaire au champ d'en-tête WWW-Authenticate. L'actualisation est
utilisée pour indiquer au navigateur l'heure d'actualisation automatique de la page. Sa valeur est un nombre de temps en secondes.
Content-Disposition Si le serveur espère que le navigateur ne traite pas directement le contenu de l'entité de la réponse, mais permet à l'utilisateur de choisir de sauvegarder le contenu de l'entité de la réponse dans un fichier, cela nécessite l'utilisation du champ d'en-tête Content-Disposition. .

(1) Champ d'en-tête de réponse de localisation

Le champ d'en-tête Location est utilisé pour notifier au client d'obtenir la nouvelle adresse du document demandé, et sa valeur est une adresse URL utilisant un chemin absolu. Exemple de champ d'en-tête de réponse d'emplacement : Emplacement : http://www.lzy.edu.cn
Le champ d'en-tête Emplacement est utilisé avec la plupart des codes d'état 3xx pour avertir le client de se reconnecter automatiquement au nouveau document de demande d'adresse. Étant donné que la réponse actuelle ne renvoie pas directement de contenu au client, les messages HTTP utilisant l'en-tête Location ne doivent pas avoir de contenu d'entité. On peut voir que les deux champs d'en-tête Location et Content-Type ne peuvent pas apparaître simultanément dans l'en-tête du message HTTP. .

(2) Champ d'en-tête de réponse du serveur

Le champ d'en-tête Serveur permet de préciser le nom du produit logiciel serveur. Exemple spécifique : Serveur : Apache-Coyote/1.1

(3) Actualiser le champ d'en-tête de réponse

Le champ d'en-tête Actualiser est utilisé pour indiquer au navigateur l'heure d'actualisation automatique de la page. Sa valeur est un nombre de secondes en secondes. Exemple spécifique : Actualiser : 3. Le champ d'en-tête Actualiser présenté ci-dessus est utilisé pour indiquer au navigateur d'actualiser
automatiquement la page après 3 secondes. Actualisez cette page.
Vous pouvez également ajouter un paramètre d'URL après la valeur temporelle dans le champ d'en-tête Actualiser. La valeur temporelle et l'URL sont séparées par un point-virgule (;), qui est utilisé pour indiquer au navigateur d'accéder à d'autres pages Web après la valeur temporelle spécifiée. . Par exemple, dites au navigateur d'accéder au site Web www.itcast.cn après 3 secondes. Exemple spécifique : Actualiser : 3;url=http://www.lzy.edu.cn

(4) Champ d'en-tête de réponse Content-Disposition

Le champ d'en-tête Content-Disposition n'est pas défini dans la spécification du standard HTTP. Il est emprunté à la RFC2183. Dans la RFC2183, Content-Disposition spécifie la manière dont le programme récepteur traite le contenu des données. Il existe deux méthodes standard, en ligne et en pièce jointe. Inline signifie traitement direct, tandis que la pièce jointe nécessite que l'utilisateur intervienne et contrôle la façon dont le programme récepteur traite le contenu des données. Dans les applications HTTP, seule la pièce jointe est la méthode standard de Content-Disposition. Le paramètre filename peut également être spécifié après la pièce jointe. La valeur du paramètre filename est le nom de fichier que le serveur recommande au navigateur d'utiliser pour enregistrer le contenu de l'entité. Le navigateur doit ignorer la partie répertoire de la valeur du paramètre filename et prendre uniquement la dernière partie du paramètre comme nom de fichier. Avant de définir Content-Disposition, assurez-vous de définir le champ d’en-tête Content-Type.

Content-Type: application/octet-stream
Content-Disposition: attachment; filename=lee.zip

Je suppose que tu aimes

Origine blog.csdn.net/qq_41301333/article/details/131202248
conseillé
Classement