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.

Nom de domaine
Votre domaine en un clic
  • Domaine .eu ou .fr + éditeur de site gratuit pendant 6 mois
  • 1 certificat SSL Wildcard par contrat
  • Boîte email de 2 Go

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 utilisateurs) :

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
rankingCoach
Boostez vos ventes grâce au marketing digital par IA
  • 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
Cet article vous a-t-il été utile ?
Aller au menu principal