HTTP header : une vue d’ensemble pour les utilisateurs
Lorsque vous visitez un site Web, votre navigateur envoie une demande au serveur Web pour obtenir des données ou des informations, par exemple un fichier HTML (c’est-à-dire une page Web). Tant dans la requête - la requête HTTP – que dans la réponse du serveur, certaines méta-informations sont échangées en plus des données réelles. Ceci est résumé dans l’en-tête HTTP. Nous expliquons la fonction de l’HTTP header et ses principaux champs.
- 1 certificat SSL Wildcard par contrat
- Fonction incluse Domain Connect pour une configuration DNS simplifiée
Fonction de l’en-tête expliquée à l’aide d’un exemple
Les lignes individuelles sont appelées « champs d’en-tête ». Chacun (sauf le premier) est constitué d’une paire nom/valeur séparée par deux points.
Explications pour les différentes lignes :
- HTTP/1.1 est la version valide du protocole HTTP.
- 200 OK est le code de statut. Il indique que le serveur a reçu, compris et accepté la demande.
- Content-Encoding et Content-Type fournissent des informations sur le type de fichier.
- Age, Cache-Control, Expires, Vary et X-Cache font référence à la mise en cache du fichier.
- Etag et Last-Modified sont utilisés pour le contrôle de la version du fichier livré.
- Le terme « server » désigne le logiciel du serveur Web.
- Content-Length est la taille du fichier en octets.
Comme on peut facilement le constater, cette information d’en-tête est principalement utilisée pour la coordination entre le client (navigateur) et le serveur : elle garantit que le client peut comprendre la forme du fichier, que le fichier est suffisamment à jour et que la taille du fichier répond aux attentes du navigateur.
Les lignes d’en-tête indiquées dans l’exemple ne représentent qu’une petite partie des champs d’en-tête disponibles. Au total, il existe près de 100 champs d’en-tête HTTP, dont environ 30 servent à spécifier des requêtes HTTP, environ 30 à la réponse du serveur, et toute une série d’autres champs d’en-tête qui servent à différentes fins et ne sont pas (encore) partiellement normalisés.
Le tableau suivant explique les principaux champs d’en-tête.
Aperçu des principaux champs d’HTTP header
Request header (demande du client)
| Champ dâen-tĂȘte | Signification | Exemple |
|---|---|---|
| Accept | Les types de contenu que le client peut traiter ; si le champ est vide, il sâagit de tous les types de contenu. | Accept: text/html, application/xml |
| Accept-Charset | Quels jeux de caractĂšres le client peut afficher. | Accept-Charset: utf-8 |
| Accept-Encoding | Les formats compressés pris en charge par le client. | Accept-Encoding: gzip |
| Accept-Language | Version linguistique souhaitée | Accept-Language: fr-FR |
| Authorization | DonnĂ©es dâauthentification (par exemple pour un login) | Basic WjbU7D25zTAlV2tZ7== |
| Cache-Control | Options du mécanisme de mise en cache | Cache-Control: no-cache |
| Cookie | Cookie stocké pour ce serveur | Cookie: $Version=1; Content=23 |
| Content-Length | Longueur de lâorganisme demandeur | Content-Length: 212 |
| Content-Type | Type MIME ; pertinent pour les requĂȘtes POST et PUT | Content-Type: application/x_222-form-urlencoded |
| Date | Date et heure de la demande | Date: Mon, 9 March 2020 09:02:22 GMT |
| Expect | Formule une attente au serveur, gĂ©nĂ©ralement la rĂ©ception dâune demande importante. | Expect: 100-continue (le serveur doit envoyer le code 100 lorsquâil est prĂȘt Ă recevoir la requĂȘte) |
| Host | Nom de domaine du serveur | Host: exemple.fr |
| If-Match | ExĂ©cution conditionnelle dâune action, en fonction de la concordance dâun code transmis | If-Match: âft678iujhnjio90âpölâ |
| If-Modified-Since | Envoyer uniquement si le contenu demandé a été modifié depuis le moment spécifié | IF-Modified-Since: Mon 2 Mar 2020 1:00:00 GMT |
| If-None-Match | Comme ci-dessus, mais spĂ©cifiĂ© via un ETag (Entity-Tag = tag dâentitĂ©, voir ci-dessous) | If-None-Match: âcxdrt5678iujhgbvbâ |
| If-Range | Ne demande que la partie du contenu qui a été modifiée ou qui manque dans le cache du client | If-Range: Mon 2 Mar 2020 1:00:00 GMT |
| If-Unmodified-Since | Analogue Ă IF-Modified-Since | If-Modified-Since: Mon 2 Mar 2020 1:00:00 GMT |
| Max-Forwards | DĂ©finit le nombre maximum de fois que la rĂ©ponse du serveur peut ĂȘtre transmise | Max-Forwards: 12 |
| Proxy-Authorization | UtilisĂ© pour authentifier le client auprĂšs dâun serveur proxy | Proxy-Authorization: Basic WjbU7D25zTAlV2tZ7== |
| Range | Précise une partie du contenu demandé | Range: bytes=0-9999 |
| Referrer | URL de la ressource Ă partir de laquelle la demande est faite (câest-Ă -dire Ă partir de laquelle le lien a Ă©tĂ© créé) | Referrer: https://exemple.fr/index.html |
| TE | Codage de transfert dâextension acceptĂ© | TE: gzip, deflate |
| User-Agent | User-Agent du client (simplement dit : le navigateur) | Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36 |
- Améliorez votre classement sur Google sans les frais d'une agence
- Répondez aux avis clients et générez des publications pour les réseaux
- Aucune connaissance en référencement et marketing en ligne requise
Response header (réponse du serveur)
| Champ dâen-tĂȘte | Signification | Exemple |
|---|---|---|
| Accept-Ranges | Unités que le serveur accepte pour les spécifications de la plage (voir ci-dessus) | Accept-Ranges: bytes |
| Age | Nombre de secondes pendant lesquelles lâobjet a Ă©tĂ© dans la mĂ©moire cache | Age: 2300 |
| Allow | Types de demandes autorisées pour une ressource spécifique | Allow: GET, POST, HEAD |
| Cache-Control | Si lâobjet peut ĂȘtre conservĂ© dans le cache et pendant combien de temps | Cache-Control: max-age=4800 |
| Connection | Type de connexion préféré | Connection: close |
| Content-Encoding | Type de compression | Content-Encoding: deflate |
| Content-Language | Langue de la ressource | Content-Language: fr-FR |
| Content-Length | Taille du corps en octets | Content-Length: 135674 |
| Content-Location | Emplacement du fichier sâil provient dâun endroit diffĂ©rent de celui demandĂ© (par exemple CDN) | Content-Location: /exemple.fr |
| Content-Security-Policy | Concepts de sĂ©curitĂ© du serveur | Content-Security-Policy: frame-src ânoneâ; object-src ânoneâ |
| Content-Type | Type MIME du dossier demandé | Content-Type: text/tml; charset=utf-8 |
| Date | Délai de réponse | Date: Mon 2 Mar 2020 1:00:00 GMT |
| ETag | Marque une version spĂ©cifique du fichier | ETag: âvt6789oi8uztgfvbnâ |
| Expires | Quand le dossier doit ĂȘtre considĂ©rĂ© comme obsolĂšte | Expires: Tue 3 Mar 2020 1:00:00 GMT |
| Last-Modified | Date de la derniĂšre modification du dossier | Last-Modified: Mon 2 Mar 2020 1:00:00 GMT |
| Location | Identifie le lieu oĂč la demande a Ă©tĂ© transmise | Location: https://www.exemple.fr |
| Proxy-Authenticate | Indique si et comment le client doit sâauthentifier auprĂšs du proxy | Proxy-Authenticate: Basic |
| Retry-After | A partir de quand le client doit faire une nouvelle demande si la ressource est temporairement indisponible (date ou secondes) | Retry-After: 300 |
| Server | Identification du serveur | Server: Apache |
| Set-Cookie | Installe un cookie chez le client | Set-Cookie: UserID=XY; Max-Age=3800; Version=1 |
| Transfer-Encoding | Méthode de compression | Transfer-Encoding: gpzip |
| Vary | Indique quels champs dâen-tĂȘte doivent ĂȘtre considĂ©rĂ©s comme variables si un fichier est demandĂ© dans le cache | Vary: User-Agent (= le serveur contient diffĂ©rentes versions de fichiers selon lâUser Agent) |
| Via | Via quels proxies la réponse a été envoyée | Via : 1.1www.exemple.fr |


