Lorsque vous visitez un site Web, votre na­vi­ga­teur envoie une demande au serveur Web pour obtenir des données ou des in­for­ma­tions, 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-in­for­ma­tions sont échangées en plus des données réelles. Ceci est résumé dans l’en-tête HTTP. Nous ex­pli­quons la fonction de l’HTTP header et ses prin­ci­paux champs.

Nom de domaine
Votre domaine en un clic
  • 1 cer­ti­fi­cat SSL Wildcard par contrat
  • Fonction incluse Domain Connect pour une con­fi­gu­ra­tion DNS sim­pli­fiée

Fonction de l’en-tête expliquée à l’aide d’un exemple

Lorsque le site Web www.exemple.com est consulté, le serveur Web renvoie non seulement le site lui-même, mais aussi l’en-tête suivant (invisible pour les uti­li­sa­teurs) :

Les lignes in­di­vi­duelles 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.

Ex­pli­ca­tions pour les dif­fé­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 four­nis­sent des in­for­ma­tions 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 fa­ci­le­ment le constater, cette in­for­ma­tion d’en-tête est prin­ci­pa­le­ment utilisée pour la coor­di­na­tion entre le client (na­vi­ga­teur) et le serveur : elle garantit que le client peut com­prendre la forme du fichier, que le fichier est suf­fi­sam­ment à jour et que la taille du fichier répond aux attentes du na­vi­ga­teur.

Les lignes d’en-tête indiquées dans l’exemple ne re­pré­sen­tent qu’une petite partie des champs d’en-tête dis­po­nibles. 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 à dif­fé­rentes fins et ne sont pas (encore) par­tiel­le­ment nor­ma­li­sés.

Le tableau suivant explique les prin­ci­paux champs d’en-tête.

Aperçu des prin­ci­paux champs d’HTTP header

Request header (demande du client)

Champ d’en-tête Sig­ni­fi­ca­tion 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, ap­pli­ca­tion/xml
Accept-Charset Quels jeux de ca­rac­tères le client peut afficher. Accept-Charset: utf-8
Accept-Encoding Les formats com­pres­sés pris en charge par le client. Accept-Encoding: gzip
Accept-Language Version lin­guis­tique souhaitée Accept-Language: fr-FR
Au­tho­ri­za­tion Données d’au­then­ti­fi­ca­tion (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: ap­pli­ca­tion/x_222-form-ur­len­co­ded
Date Date et heure de la demande Date: Mon, 9 March 2020 09:02:22 GMT
Expect Formule une attente au serveur, gé­né­ra­le­ment la réception d’une demande im­por­tante. 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 con­di­tion­nelle d’une action, en fonction de la con­cor­dance d’un code transmis If-Match: „ft678iujhnjio90’pöl“
If-Modified-Since Envoyer uni­que­ment 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-Un­mo­di­fied-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-Au­tho­ri­za­tion Utilisé pour au­then­ti­fier le client auprès d’un serveur proxy Proxy-Au­tho­ri­za­tion: 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 (sim­ple­ment dit : le na­vi­ga­teur) Mozilla/5.0 (Windows NT 10.0; Win64; x64) Ap­ple­Web­Kit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.132 Safari/537.36
ran­king­Coach
Boostez vos ventes grâce au marketing digital par IA
  • Améliorez votre clas­se­ment sur Google sans les frais d'une agence
  • Répondez aux avis clients et générez des pu­bli­ca­tions pour les réseaux
  • Aucune con­nais­sance en ré­fé­ren­ce­ment et marketing en ligne requise

Response header (réponse du serveur)

Champ d’en-tête Sig­ni­fi­ca­tion Exemple
Accept-Ranges Unités que le serveur accepte pour les spé­ci­fi­ca­tions de la plage (voir ci-dessus) Accept-Ranges: bytes
Age Nombre de secondes pendant les­quelles l’objet a été dans la mémoire cache Age: 2300
Allow Types de demandes au­to­ri­sées pour une ressource spé­ci­fique 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
Con­nec­tion Type de connexion préféré Con­nec­tion: close
Content-Encoding Type de com­pres­sion 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 Em­pla­ce­ment 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é­ci­fique 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 mo­di­fi­ca­tion 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-Au­then­ti­cate Indique si et comment le client doit s’au­then­ti­fier auprès du proxy Proxy-Au­then­ti­cate: Basic
Retry-After A partir de quand le client doit faire une nouvelle demande si la ressource est tem­po­rai­re­ment in­dis­po­nible (date ou secondes) Retry-After: 300
Server Iden­ti­fi­ca­tion 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 com­pres­sion Transfer-Encoding: gpzip
Vary Indique quels champs d’en-tête doivent être con­si­dé­rés comme variables si un fichier est demandé dans le cache Vary: User-Agent (= le serveur contient dif­fé­rentes versions de fichiers selon l’User Agent)
Via Via quels proxies la réponse a été envoyée Via : 1.1www.exemple.fr
Aller au menu principal