HTTP Headers Inspector
AcceptrequestMedia types the client can handle (e.g., text/html, application/json).
Access-Control-Allow-CredentialsresponseSet to "true" to let the browser expose a cross-origin response to JavaScript when the request carried cookies or HTTP auth.
Access-Control-Allow-HeadersresponseRequest headers the server permits on the real cross-origin request; answers a preflight OPTIONS.
Access-Control-Allow-MethodsresponseHTTP methods the server permits cross-origin (e.g., GET, POST, PUT); answers a preflight OPTIONS.
Access-Control-Allow-OriginresponseOrigin allowed to read the response: a specific origin or *. Cannot be * when credentials are included.
Access-Control-Max-AgeresponseHow many seconds the browser may cache a CORS preflight result before asking again.
Accept-EncodingrequestCompression algorithms the client accepts (gzip, deflate, br).
Accept-LanguagerequestPreferred languages for the response (e.g., en-US,en;q=0.9).
AuthorizationrequestCredentials for authenticating the client (Bearer token, Basic auth, etc.).
Cache-ControlbothCaching directives (e.g., no-cache, max-age=3600, public, private).
ConnectionbothControls whether the network connection stays open (keep-alive or close).
Content-EncodingbothEncoding applied to the body (gzip, deflate, identity).
Content-LengthbothSize of the request or response body in bytes.
Content-Security-PolicyresponseRestricts where scripts, styles, images, and frames may load from — the primary defence against XSS (e.g., default-src 'self').
Content-TypebothMedia type and encoding of the request/response body (e.g., application/json; charset=utf-8).
CookierequestHTTP cookies previously set by the server, sent back with requests.
ETagresponseUnique identifier for a version of a resource, used for caching.
HostrequestDomain name and port of the server being requested. Required in HTTP/1.1.
If-Modified-SincerequestReturns the resource only if modified after the given date (conditional GET).
If-None-MatchrequestReturns the resource only if the ETag does not match (conditional GET).
Last-ModifiedresponseDate and time the resource was last changed.
LocationresponseURL to redirect the client to (used with 3xx responses).
OriginrequestOrigin of the cross-site request, used in CORS preflight requests.
RefererrequestURL of the page making the request (note: misspelling is intentional in the HTTP spec).
Retry-AfterresponseHow long to wait before making another request (used with 429 or 503).
ServerresponseInformation about the server software handling the request.
Set-CookieresponseSets a cookie in the client; may include attributes like HttpOnly, Secure, SameSite.
Strict-Transport-SecurityresponseForces HTTPS by telling browsers not to use HTTP for a given duration (HSTS).
Transfer-EncodingbothEncoding for the message body (chunked, compress, deflate, gzip, identity).
User-AgentrequestString identifying the client browser, OS, and version.
VaryresponseTells caches which request headers affect the response (e.g., Vary: Accept-Encoding).
WWW-AuthenticateresponseAuthentication method the server requires (used with 401 responses).
X-Content-Type-OptionsresponsePrevents MIME-type sniffing; value "nosniff" instructs browser to use declared content type.
X-Frame-OptionsresponseControls embedding in iframes: DENY, SAMEORIGIN, or ALLOW-FROM uri.
X-Forwarded-ForrequestOriginal IP address of the client when passing through proxies or load balancers.
X-Requested-WithrequestIndicates an AJAX request; typically set to "XMLHttpRequest" by JS libraries.
X-XSS-ProtectionresponseLegacy XSS filter directive (deprecated in modern browsers, but still sent for legacy support).
Understand HTTP Headers Inspector
Une référence des en-têtes HTTP de requête et de réponse les plus courants, accompagnée d'un analyseur qui transforme un bloc d'en-têtes brut collé en paires clé/valeur structurées.
How it works
Les en-têtes HTTP sont orientés ligne : un nom, un deux-points et une valeur, terminés par un CRLF, une ligne vide fermant le bloc. Les noms sont insensibles à la casse, et c'est pourquoi HTTP/2 et HTTP/3 les passent tous en minuscules sur le réseau. L'analyseur découpe ici chaque ligne au premier deux-points, afin que les valeurs contenant des deux-points (une URL dans Location, une heure dans Retry-After) restent intactes, et la référence qui l'accompagne indique pour chaque en-tête s'il relève de la requête, de la réponse ou des deux. Tout s'exécute localement — cet outil lit les en-têtes que vous collez, il ne va pas les chercher à une URL.
When to use it
- Coller un bloc copié de l'onglet Réseau des DevTools ou de la sortie de `curl -i` pour le lire sous forme de liste structurée
- Vérifier quelles directives Cache-Control sont réellement envoyées avant d'accuser le CDN d'une réponse périmée
- Rechercher quels en-têtes de sécurité une réponse devrait porter (Strict-Transport-Security, X-Content-Type-Options, X-Frame-Options) et ce que fait chaque valeur
- Confirmer qu'un en-tête que vous attendiez — Vary, ETag, Access-Control-Allow-Origin — est bien présent
Watch out for
- Cet outil ne va pas chercher d'URL. Il explique et analyse les en-têtes que vous fournissez ; pour capturer de vrais en-têtes, utilisez `curl -I`, l'onglet Réseau des DevTools ou le client REST.
- Les noms d'en-têtes répétés sont légaux et porteurs de sens. Une réponse peut comporter plusieurs lignes Set-Cookie ; une vue clé/valeur à plat ne conserve que la dernière d'un nom répété, alors examinez le bloc brut quand des cookies disparaissent.
- La faute d'orthographe de « Referer » figure dans la spécification d'origine et est définitive. Referrer-Policy, ajouté bien plus tard, s'écrit correctement — utiliser la mauvaise orthographe pour l'un ou l'autre ne fait silencieusement rien.
- X-XSS-Protection est mort. Les navigateurs modernes l'ignorent ou l'ont retiré, et une valeur non nulle était elle-même exploitable ; une Content-Security-Policy en est le remplacement.
Frequently Asked Questions
À quoi sert l'en-tête Cache-Control ?
Cache-Control indique aux navigateurs et aux CDN comment se comporter en matière de cache. Valeurs clés : no-cache (revalider avant d'utiliser le cache), no-store (ne jamais mettre en cache), max-age=3600 (mise en cache pendant 1 heure), public (pouvant être mis en cache par un CDN), private (navigateur uniquement), immutable (ne jamais revalider, pour les ressources versionnées).
Quels en-têtes faut-il pour le CORS ?
Pour les requêtes simples : Access-Control-Allow-Origin: * (ou une origine précise). Pour les requêtes avec contrôle préalable (POST/PUT/en-têtes personnalisés) : également Access-Control-Allow-Methods, Access-Control-Allow-Headers, et éventuellement Access-Control-Max-Age. Les requêtes avec identifiants exigent Access-Control-Allow-Credentials: true.
À quoi sert l'en-tête Strict-Transport-Security ?
HSTS (HTTP Strict Transport Security) demande aux navigateurs de ne se connecter qu'en HTTPS pendant une durée donnée : Strict-Transport-Security: max-age=31536000; includeSubDomains. Après une seule visite en HTTPS, les navigateurs refusent le HTTP simple pendant un an. À manier avec précaution — HTTPS doit fonctionner avant l'activation.
How to Use HTTP Headers Inspector
- Paste or type your input in the input area above.
- The tool processes your input automatically or click Run.
- Copy or download the result using the action buttons.
- Use Ctrl+Enter to run quickly from the keyboard.