HTTP Headers Inspector

One input per line. Output is numbered to match the input order.
Pinned tools are listed in your favourites on the home page.Copies a link to this tool that carries your current input, so it opens ready to run.Gives you an iframe snippet for putting this tool on your own site.
Acceptrequest

Media types the client can handle (e.g., text/html, application/json).

Access-Control-Allow-Credentialsresponse

Set to "true" to let the browser expose a cross-origin response to JavaScript when the request carried cookies or HTTP auth.

Access-Control-Allow-Headersresponse

Request headers the server permits on the real cross-origin request; answers a preflight OPTIONS.

Access-Control-Allow-Methodsresponse

HTTP methods the server permits cross-origin (e.g., GET, POST, PUT); answers a preflight OPTIONS.

Access-Control-Allow-Originresponse

Origin allowed to read the response: a specific origin or *. Cannot be * when credentials are included.

Access-Control-Max-Ageresponse

How many seconds the browser may cache a CORS preflight result before asking again.

Accept-Encodingrequest

Compression algorithms the client accepts (gzip, deflate, br).

Accept-Languagerequest

Preferred languages for the response (e.g., en-US,en;q=0.9).

Authorizationrequest

Credentials for authenticating the client (Bearer token, Basic auth, etc.).

Cache-Controlboth

Caching directives (e.g., no-cache, max-age=3600, public, private).

Connectionboth

Controls whether the network connection stays open (keep-alive or close).

Content-Encodingboth

Encoding applied to the body (gzip, deflate, identity).

Content-Lengthboth

Size of the request or response body in bytes.

Content-Security-Policyresponse

Restricts where scripts, styles, images, and frames may load from — the primary defence against XSS (e.g., default-src 'self').

Content-Typeboth

Media type and encoding of the request/response body (e.g., application/json; charset=utf-8).

Cookierequest

HTTP cookies previously set by the server, sent back with requests.

ETagresponse

Unique identifier for a version of a resource, used for caching.

Hostrequest

Domain name and port of the server being requested. Required in HTTP/1.1.

If-Modified-Sincerequest

Returns the resource only if modified after the given date (conditional GET).

If-None-Matchrequest

Returns the resource only if the ETag does not match (conditional GET).

Last-Modifiedresponse

Date and time the resource was last changed.

Locationresponse

URL to redirect the client to (used with 3xx responses).

Originrequest

Origin of the cross-site request, used in CORS preflight requests.

Refererrequest

URL of the page making the request (note: misspelling is intentional in the HTTP spec).

Retry-Afterresponse

How long to wait before making another request (used with 429 or 503).

Serverresponse

Information about the server software handling the request.

Set-Cookieresponse

Sets a cookie in the client; may include attributes like HttpOnly, Secure, SameSite.

Strict-Transport-Securityresponse

Forces HTTPS by telling browsers not to use HTTP for a given duration (HSTS).

Transfer-Encodingboth

Encoding for the message body (chunked, compress, deflate, gzip, identity).

User-Agentrequest

String identifying the client browser, OS, and version.

Varyresponse

Tells caches which request headers affect the response (e.g., Vary: Accept-Encoding).

WWW-Authenticateresponse

Authentication method the server requires (used with 401 responses).

X-Content-Type-Optionsresponse

Prevents MIME-type sniffing; value "nosniff" instructs browser to use declared content type.

X-Frame-Optionsresponse

Controls embedding in iframes: DENY, SAMEORIGIN, or ALLOW-FROM uri.

X-Forwarded-Forrequest

Original IP address of the client when passing through proxies or load balancers.

X-Requested-Withrequest

Indicates an AJAX request; typically set to "XMLHttpRequest" by JS libraries.

X-XSS-Protectionresponse

Legacy XSS filter directive (deprecated in modern browsers, but still sent for legacy support).

Ctrl+Enter Run  · Ctrl+Shift+C Copy  · Esc Clear

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

  1. Paste or type your input in the input area above.
  2. The tool processes your input automatically or click Run.
  3. Copy or download the result using the action buttons.
  4. Use Ctrl+Enter to run quickly from the keyboard.