Cet article répertorie les champs d'en-tête HTTP standard et non standard notables .
Un ensemble de champs de base est normalisé par l' IETF ( Internet Engineering Task Force ) dans les RFC 9110 et 9111. Les noms de champs , les champs d'en-tête et le référentiel des enregistrements provisoires sont gérés par l' IANA . Des champs supplémentaires peuvent être définis par une application web .
Auparavant, les noms de champs d'en-tête non standard étaient préfixés par `<nom_champ>`, X-mais cette convention a été dépréciée en juin 2012 en raison des inconvénients qu'elle engendrait lorsque les champs non standard sont devenus standard. Une restriction antérieure sur l'utilisation de `<nom_champ>` Downgraded-a été levée en mars 2013.
Certaines valeurs de champ peuvent contenir des commentaires (par exemple dans les champs User-Agent, Server, Via), qui peuvent être ignorés par le logiciel.
De nombreuses valeurs de champ peuvent contenir une paire clé-valeur de qualité ( q ) séparée par un signe égal , spécifiant un poids à utiliser dans la négociation de contenu . Par exemple, un navigateur peut indiquer qu'il accepte les informations en allemand ou en anglais, l'allemand étant la langue préférée, en définissant la valeur de qde pour l'allemand supérieure à celle de l'anglais en, comme suit :
Accept-Language: de; q=1.0, en; q=0.5
Champs de requête standard
BUT
[RFC 3229, permanent] Manipulations d'instance acceptables pour la requête.
Par exemple:A-IM: feed
Accepter
[RFC 9110, permanent] Type(s) de média(s) acceptable(s) pour la réponse. Voir Négociation de contenu .
Par exemple:Accept: text/html
Accepter-Charset
[RFC 9110, permanent] Jeux de caractères acceptables.
Par exemple:Accept-Charset: utf-8
Accepter-Date-Heure
[RFC 7089, provisoire] Version acceptable à temps.
Par exemple:Accept-Datetime: Thu, 31 May 2007 20:35:00 GMT
Accept-Encoding
[RFC 9110, permanent] Liste des encodages acceptables. Voir la compression HTTP .
Par exemple:Accept-Encoding: gzip, deflate
Accepter le langage
[RFC 9110, permanent] Liste des langues humaines acceptables pour la réponse. Voir Négociation de contenu .
Par exemple:Accept-Language: en-US
Méthode de requête de contrôle d'accès, en-têtes de requête de contrôle d'accès
[permanent] Lance une requête de partage de ressources inter-origines avec Origin (ci-dessous).
Par exemple:Access-Control-Request-Method: GET
Autorisation
[RFC 9110, permanent] Informations d'identification d'authentification pour l'authentification HTTP .
Par exemple:Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Contrôle du cache
Résumé du contenu
[RFC 9530, Champs Digest] L'en-tête Content-Digest permet de vérifier l'intégrité du contenu d'un message en calculant un condensé des octets transmis dans le message HTTP. Ce condensé reflète le contenu après application de transformations telles que Content-Encoding, correspondant exactement à ce qui transite sur le réseau.
Encodage du contenu
[RFC 9110, permanent] Le type d'encodage utilisé sur les données. Voir la compression HTTP .
Par exemple:Content-Encoding: gzip
Longueur du contenu
[RFC 9110, permanent] La longueur du corps de la requête en octets (octets de 8 bits).
Par exemple:Content-Length: 348
MD5 du contenu
[RFC 1544, 1864, 4021, obsolète] Somme MD5 binaire encodée en Base64 du contenu du corps de la requête.
Par exemple:Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==
Type de contenu
[RFC 9110, permanent] Le type de média du corps de la requête (utilisé avec les requêtes POST et PUT).
Par exemple:Content-Type: application/x-www-form-urlencoded
Cookie
[RFC 2965, 6265, permanent] Un cookie HTTP précédemment envoyé par le serveur avec Set-Cookie(ci-dessous).
Par exemple:Cookie: $Version=1; Skin=new;
Date
[RFC 9110, permanent] La date et l'heure auxquelles le message a été créé (au format « HTTP-date » tel que défini par RFC 9110 : Sémantique HTTP, section 5.6.7 « Formats de date/heure » ).
Par exemple:Date: Tue, 15 Nov 1994 08:12:31 GMT
Attendre
[RFC 9110, permanent] Indique que certains comportements du serveur sont requis par le client.
Par exemple:Expect: 100-continue
Transmis
[RFC 7239, permanent] Divulguer les informations originales d'un client se connectant à un serveur Web via un proxy HTTP.
Par exemple:Forwarded: for=192.0.2.60;proto=http;by=203.0.113.43Forwarded: for=192.0.2.43, for=198.51.100.17
Depuis
[RFC 9110, permanent] L' adresse e-mail de l'utilisateur effectuant la demande.
Par exemple:From: user@example.com
Hôte
[RFC 9110, 9113, permanent] Le nom de domaine du serveur (pour l'hébergement virtuel ) et le numéro de port TCP sur lequel le serveur est à l'écoute. Le numéro de port peut être omis s'il s'agit du port standard du service demandé. Obligatoire depuis HTTP/1.1. Si la requête est générée directement en HTTP/2, cette information ne doit pas être utilisée.
Par exemple:Host: en.wikipedia.org:8080Host: en.wikipedia.org
Paramètres HTTP/2
[RFC 7540, 9113, obsolète] Une requête de mise à niveau de HTTP/1.1 vers HTTP/2 DOIT inclure un seul HTTP2-Settingschamp d'en-tête. Ce HTTP2-Settingschamp d'en-tête, spécifique à la connexion, contient les paramètres qui régissent la connexion HTTP/2 et est fourni en prévision de l'acceptation de la requête de mise à niveau par le serveur.
Par exemple:HTTP2-Settings: token64
Si-correspondance
[RFC 9110, permanent] N'exécuter l'action que si l'entité fournie par le client correspond à l'entité correspondante sur le serveur. Ceci concerne principalement les méthodes comme PUT, afin de mettre à jour une ressource uniquement si elle n'a pas été modifiée depuis la dernière modification par l'utilisateur.
Par exemple:If-Match: "737060cd8c284d8af7ad3082f209582d"
Si modifié depuis
[RFC 9110, permanent] Permet de renvoyer un code 304 Not Modified si le contenu est inchangé.
Par exemple:If-Modified-Since: Sat, 29 Oct 1994 19:43:31 GMT
Si aucune correspondance
[RFC 9110, permanent] Permet de renvoyer un code 304 Not Modified si le contenu est inchangé, voir HTTP ETag .
Par exemple:If-None-Match: "737060cd8c284d8af7ad3082f209582d"
Plage de valeurs If
[RFC 9110, permanent] Si l'entité est inchangée, envoyez-moi la ou les parties qui me manquent ; sinon, envoyez-moi la nouvelle entité complète.
Par exemple:If-Range: "737060cd8c284d8af7ad3082f209582d"
Si-Non-modifié-Depuis
[RFC 9110, permanent] N'envoyer la réponse que si l'entité n'a pas été modifiée depuis une heure spécifique.
Par exemple:If-Unmodified-Since: Sat, 29 Oct 1994 19:43:31 GMT
Max-Forwards
[RFC 9110, permanent] Limiter le nombre de fois où le message peut être transféré via des proxys ou des passerelles.
Par exemple:Max-Forwards: 10
Origine
[RFC 6454, permanent] Initie une requête de partage de ressources inter-origines (demande au serveur les champs de réponse Access-Control-* ).
Par exemple:Origin: http://www.example-social-network.com
Pragma
[RFC 9111, obsolète] Champs spécifiques à l'implémentation qui peuvent avoir divers effets à n'importe quel endroit de la chaîne requête-réponse.
Par exemple:Pragma: no-cache
Préférer
[RFC 7240, permanent] Permet au client de demander à un serveur d'adopter certains comportements lors du traitement d'une requête.
Par exemple:Prefer: return=representation
Autorisation par procuration
[RFC 9110, permanent] Informations d'identification d'autorisation pour la connexion à un proxy.
Par exemple:Proxy-Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Gamme
[RFC 9110, permanent] Demande uniquement une partie d'une entité. Les octets sont numérotés à partir de 0. Voir Service d'octets .
Par exemple:Range: bytes=500-999
Référent [ sic ]
trailersest uniquement pris en charge par HTTP/2. Par exemple:TE: trailers, deflate
Bande-annonce
[RFC 9110, permanent] La valeur du champ général Trailer indique que l'ensemble donné de champs d'en-tête est présent dans la fin d'un message encodé avec un codage de transfert par blocs .
Par exemple:Trailer: Max-Forwards
Encodage par transfert
[RFC 9110, permanent] Format d'encodage utilisé pour transférer l'entité à l'utilisateur en toute sécurité. Les méthodes actuellement définies sont : chunked , compress, deflate, gzip et identity. Ne doit pas être utilisé avec HTTP/2.
Par exemple:Transfer-Encoding: chunked
Agent utilisateur
Par exemple:User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:12.0) Gecko/20100101 Firefox/12.0
Mise à niveau
Les codes d'avertissement suivants relatifs à la mise en cache ont été spécifiés dans la RFC 7234.
- Ajax (la plupart des frameworks JavaScript envoient ce champ avec la valeur de
XMLHttpRequest); cela permet également d'identifier les applications Android utilisant WebView.Par exemple:
X-Requested-With: XMLHttpRequest
DNT
Par exemple:
DNT: 1(Fonction « Ne pas suivre » activée)
DNT: 0(Ne pas suivre désactivé)
X-Transmis-Pour
Par exemple: X-Forwarded-For: client1, proxy1, proxy2X-Forwarded-For: 129.78.138.66, 129.78.64.103
Hôte transféré X
Norme de facto pour identifier l'hôte d'origine demandé par le client dans l' Hosten-tête de requête HTTP, étant donné que le nom d'hôte et/ou le port du proxy inverse (équilibreur de charge) peuvent différer du serveur d'origine traitant la requête. Remplacé par l'en-tête Forwarded .
Par exemple:
X-Forwarded-Host: en.wikipedia.org:8080
X-Forwarded-Host: en.wikipedia.org
X-Forwarded-Proto
Il s'agit d'une norme de facto pour identifier le protocole d'origine d'une requête HTTP, car un proxy inverse (ou un répartiteur de charge) peut communiquer avec un serveur web via HTTP même si la requête adressée au proxy inverse est en HTTPS. Une variante de cet en-tête (X-ProxyUser-Ip) est utilisée par les clients Google communiquant avec les serveurs Google. Cet en-tête est désormais remplacé par l'en-tête Forwarded .
Par exemple:X-Forwarded-Proto: https
Front-End-Https
Champ d'en-tête non standard utilisé par les applications et les équilibreurs de charge Microsoft.
Par exemple:Front-End-Https: on
X-Http-Method-Override
Demande à une application web de remplacer la méthode spécifiée dans la requête (généralement POST) par la méthode indiquée dans l'en-tête (généralement PUT ou DELETE). Ceci peut être utilisé lorsqu'un agent utilisateur ou un pare-feu empêche l'envoi direct des méthodes PUT ou DELETE (il s'agit soit d'un bogue dans le composant logiciel, qui devrait être corrigé, soit d'une configuration intentionnelle, auquel cas le contourner peut être une erreur).
Par exemple:X-HTTP-Method-Override: DELETE
X-ATT-DeviceId
Permet une analyse plus aisée du MakeModel/Firmware qui se trouve généralement dans la chaîne User-Agent des appareils AT&T.
Par exemple:X-Att-Deviceid: GT-P7320/P7320XXLPG
Profil X-Wap
Lien vers un fichier XML sur Internet contenant une description complète et des détails sur l'appareil actuellement connecté. L'exemple à droite est un fichier XML pour un Samsung Galaxy S2 d'AT&T.
Par exemple:x-wap-profile: http://wap.samsungmobile.com/uaprof/SGH-I777.xml
Connexion proxy
Implémenté suite à une mauvaise interprétation des spécifications HTTP. Fréquent en raison d'erreurs dans les premières versions d'HTTP. Possède exactement les mêmes fonctionnalités que le champ Connection standard. Ne doit pas être utilisé avec HTTP/2.
Par exemple:Proxy-Connection: keep-alive
X-UIDH
Inspection approfondie des paquets côté serveur d'un identifiant unique identifiant les clients de Verizon Wireless ; également connue sous le nom de « perma-cookie » ou « supercookie ».
Par exemple:X-UIDH: ...
Jeton X-Csrf
Utilisé pour empêcher la falsification de requêtes intersites . Autres noms d'en-tête : X-CSRFToken et X-XSRF-TOKEN.
Par exemple:X-Csrf-Token: i8XNjC4b8KVok4uw5RftR38Wgp2BFwql
ID de requête X, ID de corrélation X, ID de corrélation
Permet de corréler les requêtes HTTP entre un client et un serveur. Remplacé par l'en-tête traceparent.
Par exemple:X-Request-ID: f058ebd6-02f7-4d3f-942e-904344e8cde5
Sauvegarder les données
L’en-tête de requête Save-Data client hint disponible dans les navigateurs Chrome, Opera et Yandex permet aux développeurs de fournir des applications plus légères et plus rapides aux utilisateurs qui activent le mode d’économie de données dans leur navigateur.
Par exemple:Save-Data: on
Sec-GPC
L’en-tête de requête Sec-GPC ( Global Privacy Control ) indique si l’utilisateur consent à ce qu’un site Web ou un service vende ou partage ses informations personnelles avec des tiers.
Par exemple:Sec-GPC: 1
Champs de réponse
Cette section répertorie les champs d'en-tête utilisés dans une réponse .
Champs de réponse standard
Accepter-CH
[RFC 8942, expérimental] Indications du client HTTP Requests .
Par exemple:Accept-CH: UA, Platform
Access-Control-Allow-Origin, Access-Control-Allow-Credentials, Access-Control-Expose-Headers, Access-Control-Max-Age, Access-Control-Allow-Methods, Access-Control-Allow-Headers
[RFC 7480, permanent] Spécifie quels sites Web peuvent participer au partage de ressources inter-origines .
Par exemple:Access-Control-Allow-Origin: *
Accepter le correctif
[RFC 5789, permanent] Spécifie les formats de documents de correctifs pris en charge par ce serveur.
Par exemple:Accept-Patch: text/example;charset=utf-8
Accept-Ranges
[RFC 9110, permanent] Quels types de plages de contenu partiel ce serveur prend-il en charge via le service d'octets ?
Par exemple:Accept-Ranges: bytes
Âge
[RFC 9111, permanent] L'âge de l'objet dans un cache proxy en secondes.
Par exemple:Age: 12
Permettre
[RFC 9110, permanent] Méthodes valides pour une ressource spécifiée. À utiliser pour une erreur 405 : Méthode non autorisée .
Par exemple:Allow: GET, HEAD
Service alternatif
[RFC 7838, permanent] Un serveur utilise l'en-tête « Alt-Svc » (signifiant « Services alternatifs ») pour indiquer que ses ressources sont également accessibles à un autre emplacement réseau (hôte ou port) ou via un protocole différent. Lors de l'utilisation de HTTP/2, les serveurs doivent envoyer une trame ALTSVC.
Par exemple:Alt-Svc: http/1.1="http2.example.com:8001"; ma=7200
Contrôle du cache
Expiresvaleur du champ d'en-tête HTTP/1.0 sur une date antérieure à l'heure de la réponse. Notez que ` Encodage du contenu
[RFC 9110, permanent] Le type d'encodage utilisé sur les données. Voir la compression HTTP .
Par exemple:Content-Encoding: gzip
Contenu-Langue
[RFC 9110, permanent] La ou les langues naturelles du public cible du contenu inclus.
Par exemple:Content-Language: da
Longueur du contenu
[RFC 9110, permanent] La longueur du corps de la réponse en octets (octets de 8 bits).
Par exemple:Content-Length: 348
Emplacement du contenu
[RFC 9110, permanent] Un emplacement alternatif pour les données renvoyées.
Par exemple:Content-Location: /index.htm
MD5 du contenu
[RFC 1544, 1864, 4021, obsolète] Somme MD5 binaire encodée en Base64 du contenu de la réponse.
Par exemple:Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==
Plage de contenu
[RFC 9110, permanent] Où, dans un message complet, ce message partiel doit être placé.
Par exemple:Content-Range: bytes 21010-47021/47022
Type de contenu
[RFC 9110, permanent] Le type MIME de ce contenu.
Par exemple:Content-Type: text/html; charset=utf-8
Date
[RFC 9110, permanent] La date et l'heure auxquelles le message a été envoyé (au format « HTTP-date » tel que défini par la RFC 9110).
Par exemple:Date: Tue, 15 Nov 1994 08:12:31 GMT
Base Delta
[RFC 3229, permanent] Spécifie l'étiquette d'entité d'encodage delta de la réponse.
Par exemple:Delta-Base: "abc"
ETag
Par exemple:ETag: "737060cd8c284d8af7ad3082f209582d"
Expire
[RFC 9111, permanent] Indique la date/heure après laquelle la réponse est considérée comme obsolète (au format « HTTP-date » tel que défini par la RFC 9110).
Par exemple:Expires: Thu, 01 Dec 1994 16:00:00 GMT
JE SUIS
[RFC 3229, permanent] Manipulations d'instance appliquées à la réponse.
Par exemple:IM: feed
Dernière modification
[RFC 9110, permanent] La date de dernière modification de l'objet demandé (au format « HTTP-date » tel que défini par la RFC 9110).
Par exemple:Last-Modified: Tue, 15 Nov 1994 12:45:26 GMT
Lien
[RFC 8288, permanent] Utilisé pour exprimer une relation typée avec une autre ressource, où le type de relation est défini par RFC 8288.
Par exemple:Link: </feed>; rel="alternate"
Emplacement
Par exemple:Location: http://www.w3.org/pub/WWW/People.html
Par exemple:Location: /pub/WWW/People.html
P3P
P3P:CP="your_compact_policy". Cependant, P3P n'a pas rencontré le succès escompté, la plupart des navigateurs ne l'ont jamais pleinement implémenté ; de nombreux sites web définissent ce champ avec un texte de politique factice, suffisant pour tromper les navigateurs et leur faire croire qu'une politique P3P existe et accorder des autorisations pour les cookies tiers .Par exemple:P3P: CP="This is not a P3P policy! See https://en.wikipedia.org/wiki/Special:CentralAutoLogin/P3P for more info."
Pragma
[RFC 9111, permanent] Champs spécifiques à l'implémentation qui peuvent avoir divers effets à n'importe quel endroit de la chaîne requête-réponse.
Par exemple:Pragma: no-cache
Préférence appliquée
[RFC 7240, permanent] Indique quels jetons Prefer ont été honorés par le serveur et appliqués au traitement de la requête.
Par exemple:Preference-Applied: return=representation
Authentification par procuration
[RFC 9110, permanent] Demande d'authentification pour accéder au proxy.
Par exemple:Proxy-Authenticate: Basic
Code PIN à clé publique
[RFC 7469, permanent] Épinglage de clé publique HTTP : annonce le hachage du certificat TLS authentique du site Web .
Par exemple:Public-Key-Pins: max-age=2592000; pin-sha256="E9CZ9INDbd+2eRQozYqqbQ2yXLVKB9+xcprMF+44U1g=";
Réessayer après
[RFC 9110, permanent] Si une entité est temporairement indisponible, cette instruction demande au client de réessayer ultérieurement. La valeur peut être une période de temps spécifiée (en secondes) ou une date HTTP.
Par exemple 1 : Retry-After: 120 Par exemple 2 :Retry-After: Fri, 07 Nov 2014 23:59:59 GMT
Serveur
[RFC 9110, permanent] Un nom pour le serveur.
Par exemple:Server: Apache/2.4.1 (Unix)
Définir-Cookie
[RFC 6265, permanent] Un cookie HTTP .
Par exemple:Set-Cookie: CookieName=CookieValue; Max-Age=3600; Version=1
Sécurité stricte des transports
Par exemple:Trailer: Max-Forwards
Encodage par transfert
[RFC 9110, permanent] Format d'encodage utilisé pour transférer l'entité à l'utilisateur en toute sécurité. Les méthodes actuellement définies sont : chunked , compress, deflate, gzip et identity. Ne doit pas être utilisé avec HTTP/2.
Par exemple:Transfer-Encoding: chunked
Tk
[RFC 2295, permanent] En-tête d'état de suivi, valeur suggérée à envoyer en réponse à une requête DNT (ne pas suivre). Valeurs possibles :
- "!" - en cours de construction
- "?" — dynamique
- « G » — passerelle vers de multiples parties
- « N » — ne suit pas
- "T" — suivi
- « C » — suivi avec consentement
- « P » — suivi uniquement avec consentement
- "D" — sans tenir compte du DNT
- « U » — mis à jour
Par exemple:Tk:?
Mise à niveau
deny- pas de rendu dans une frame, sameorigin- pas de rendu en cas d’origine incorrecte, allow-from- autoriser à partir d’un emplacement spécifié, allowall- non standard, autoriser à partir de n’importe quel emplacement. Par exemple:X-Frame-Options: deny
Champs de réponse non standard courants
Politique de sécurité du contenu, X-Content-Security-Policy, X-WebKit-CSP
Définition de la politique de sécurité du contenu .
Par exemple: X-WebKit-CSP: default-src 'self'
Expect-CT
Notifier qu'il est préférable de faire respecter la transparence des certificats .
Par exemple: Expect-CT: max-age=604800, enforce, report-uri="https://example.example/report"
NEL
Utilisé pour configurer la journalisation des requêtes réseau.
Par exemple: :"name_of_reporting_group","max_age":12345,"include_subdomains":false,"success_fraction":0.0,"failure_fraction":1.0}
Politique d'autorisation
Pour autoriser ou désactiver différentes fonctionnalités ou API du navigateur.
Par exemple: Permissions-Policy: fullscreen=(), camera=(), microphone=(), geolocation=(), interest-cohort=()
Rafraîchir
Indique au navigateur d' actualiser la page ou de rediriger vers une autre URL, soit après un nombre de secondes donné ( 0c'est-à-dire immédiatement), :"csp-endpoint","max_age":10886400,"endpoints":[{"url":"https-url-of-site-which-collects-reports"}]}
Statut
Champ d'en-tête CGI spécifiant l' état de la réponse HTTP. Les réponses HTTP normales utilisent plutôt une « ligne d'état » distincte, définie par la RFC 9110.
Par exemple: Status: 200 OK
Timing-Allow-Origin
L' Timing-Allow-Originen-tête de réponse spécifie les origines autorisées à voir les valeurs des attributs récupérés via les fonctionnalités de l' API Resource Timing , qui seraient autrement signalées comme nulles en raison des restrictions inter-origines.
Par exemple: Timing-Allow-Origin: *Timing-Allow-Origin: <origin>[, <origin>]*
Durée du contenu X
Indiquez la durée de l'audio ou de la vidéo en secondes. Non pris en charge par les navigateurs actuels ; cet en-tête était uniquement pris en charge par les navigateurs Gecko, dont la prise en charge a été supprimée en 2015.
Par exemple: X-Content-Duration: 42.666
X-Content-Type-Options
La seule valeur définie, « nosniff », empêche Internet Explorer d’analyser le type MIME d’une réponse en dehors du type de contenu déclaré. Ceci s’applique également à Google Chrome lors du téléchargement d’extensions.
Par exemple : X-Content-Type-Options: nosniff
X-Powered-By
Spécifie la technologie (par exemple ASP.NET , PHP , JBoss) qui prend en charge l'application Web (les détails de version se trouvent souvent dans ` X-Runtime.php` X-Version, `.php` ou ` X-AspNet-Version.php`).
Par exemple: X-Powered-By: PHP/5.4.0
X-Redirect-Par
Spécifie le composant responsable d'une redirection particulière.
Par exemple: X-Redirect-By: WordPressX-Redirect-By: Polylang
ID de requête X, ID de corrélation X
Permet de mettre en relation les requêtes HTTP entre un client et un serveur.
Par exemple: X-Request-ID: f058ebd6-02f7-4d3f-942e-904344e8cde5
Compatible X-UA
Recommande le moteur de rendu préféré (souvent un mode de rétrocompatibilité) pour afficher le contenu. Sert également à activer Chrome Frame dans Internet Explorer. En HTML Standard, seule la IE=edgevaleur est définie.
Par exemple:
X-UA-Compatible: IE=edgeX-UA-Compatible: IE=EmulateIE7X-UA-Compatible: Chrome=1
Protection contre les X-XSS
Filtre de script intersite (XSS)
Par exemple: X-XSS-Protection: 1; mode=block