En-têtes HTTP courants
Les en-têtes HTTP sont des paires clé-valeur envoyées au début de chaque requête et réponse. Ils véhiculent des métadonnées comme le type de contenu, les règles de cache et l'authentification. Utilisez cette fiche pour reconnaître les en-têtes les plus fréquents en développement ou débogage web.
| En-tête | Direction | Usage |
|---|---|---|
| Host | request | Identifies the server's host and port (from the URL). |
| User-Agent | request | Reports the client software (browser, OS, bot) making the request. |
| Accept | request | Lists the response media types (MIME) the client can handle. |
| Authorization | request | Carries credentials (token, Basic auth) to authenticate the client. |
| Content-Type | request/response | States the media type of the request or response body. |
| Content-Length | request/response | Gives the size in bytes of the request or response body. |
| Cookie | request | Sends stored key/value pairs from a previous response back to the server. |
| Set-Cookie | response | Server instructs the client to store a cookie for later requests. |
| Cache-Control | request/response | Directs caching behaviour: no-cache, max-age, private, etc. |
| ETag | response | Opaque identifier for a resource version, used for revalidation. |
| If-None-Match | request | Sends an ETag; server returns 304 if the resource is unchanged. |
| Location | response | Points the client to a new URL for redirects (3xx) or created resources. |
| Access-Control-Allow-Origin | response | Permits a browser to share a response across origins (CORS). |
| X-Forwarded-For | request | Records the client IP as seen through a proxy or load balancer. |
| Referer | request | Indicates the URL of the page that linked to the requested resource. |
Notes
- Les noms d'en-tête ne sont pas sensibles à la casse ; par convention on les écrit en Title-Case (ex. Content-Type).
- Les en-têtes de requête décrivent le client ; ceux de réponse décrivent la réponse du serveur.
- Le navigateur définit beaucoup d'en-têtes (comme Host et Referer) automatiquement — ne les falsifiez pas.
Questions fréquentes
- Quelle est la différence entre une en-tête de requête et une en-tête de réponse ?
- Les en-têtes de requête sont envoyés par le client (navigateur ou app) au serveur ; les en-têtes de réponse reviennent du serveur avec sa réponse. Certains, comme Content-Type, apparaissent des deux côtés.
- Les en-têtes HTTP sont-ils sensibles à la casse ?
- Non. Selon la spécification, les noms d'en-tête ne sont pas sensibles à la casse, donc Content-Type et content-type désignent la même chose. Le Title-Case n'est qu'une convention.
- À quoi sert l'en-tête Host ?
- Host indique au serveur quel domaine la requête vise. Il est obligatoire en HTTP/1.1 et permet à un serveur d'héberger plusieurs sites par nom.
- Comment le cache fonctionne-t-il avec les en-têtes ?
- Cache-Control définit la durée de mise en cache d'une réponse ; ETag et If-None-Match permettent au client de demander « a changé ? » et de recevoir un léger 304 Not Modified.