Aide-mémoire Web et HTTP

Aide-mémoire des en-têtes HTTP

En-têtes de requête et de réponse, directives Cache-Control, en-têtes de sécurité, attributs de cookie et en-têtes CORS, avec le rôle de chacun et des valeurs typiques.

Dernière vérification:

AdSense Placeholder
Slot: header_reference_page
Sur cette page

Les en-têtes HTTP sont les lignes étiquetées envoyées avant le corps de chaque requête et réponse. Ils transportent le type de contenu, les règles de cache, les cookies, les identifiants et les politiques de sécurité. Voyez les en-têtes envoyés par n'importe quel site avec le Visualiseur d'en-têtes HTTP et évaluez les en-têtes de sécurité d'un site avec le Analyseur d'En-têtes de Sécurité.

En-têtes de requête

En-tête Rôle
Host Le site demandé (obligatoire en HTTP/1.1)
User-Agent Identifie le navigateur ou le programme client
Accept Types de contenu que le client accepte, comme text/html ou application/json
Accept-Language Langues préférées, par exemple fr-FR,fr;q=0.9,en;q=0.8
Accept-Encoding Compression comprise par le client (gzip, br)
Authorization Identifiants, comme Bearer <token> ou Basic <base64>
Cookie Cookies que le navigateur renvoie au site
Content-Type Format du corps de la requête (application/json, multipart/form-data)
Origin D'où vient une requête inter-sites ; utilisé par CORS et les contrôles CSRF
Referer La page précédente (la faute d'orthographe est historique)
If-None-Match N'envoie le corps que si l'ETag a changé
Range Demande une partie d'un fichier, comme bytes=0-1023

En-têtes de réponse

En-tête Rôle
Content-Type Format du corps, avec jeu de caractères pour le texte : text/html; charset=utf-8
Content-Length Taille du corps en octets
Content-Encoding Compression appliquée au corps (gzip, br)
Location Où aller ensuite, utilisé avec 201 et les redirections 3xx
Set-Cookie Enregistre un cookie (voir les attributs ci-dessous)
WWW-Authenticate Comment s'authentifier après un 401
Retry-After Quand réessayer après 429 ou 503 (secondes ou une date)
ETag Étiquette de version du contenu, pour valider le cache
Last-Modified Quand le contenu a changé pour la dernière fois
Vary En-têtes de requête qui changent la réponse, pour que les caches gardent des copies séparées (Vary: Accept-Encoding)

Cache-Control

Directive Signification
max-age=<seconds> Valide pendant ce nombre de secondes, sans question
s-maxage=<seconds> Comme max-age, mais pour les caches partagés comme les CDN
no-cache Peut être stocké, mais doit être revalidé auprès du serveur avant chaque réutilisation
no-store Ne jamais le stocker nulle part (données sensibles)
public / private private signifie que seul le navigateur de l'utilisateur peut le garder, pas les caches partagés
immutable Le fichier ne changera jamais à cette URL : inutile de revalider
must-revalidate Une fois périmé, ne jamais le servir sans vérifier auprès du serveur
stale-while-revalidate=<seconds> Sert la copie périmée pendant qu'une nouvelle est récupérée en arrière-plan

Recettes courantes : les fichiers statiques à empreinte (app.3f9a1c.js) utilisent public, max-age=31536000, immutable ; les pages HTML utilisent no-cache ; les données personnelles utilisent no-store.

En-têtes de sécurité

En-tête Valeur typique Rôle
Strict-Transport-Security max-age=31536000; includeSubDomains Force les navigateurs à n'utiliser que HTTPS pour ce site
Content-Security-Policy default-src 'self' Limite l'origine des scripts, styles et images ; la principale défense contre le XSS
X-Content-Type-Options nosniff Empêche les navigateurs de deviner un autre type de contenu
X-Frame-Options DENY or SAMEORIGIN Empêche l'affichage de la page dans un cadre (frame-ancestors de CSP est l'équivalent moderne)
Referrer-Policy strict-origin-when-cross-origin Contrôle la part d'URL envoyée dans Referer
Permissions-Policy camera=(), microphone=() Désactive les fonctions du navigateur dont la page n'a pas besoin

Le Générateur d'en-tête CSP aide à construire une politique, et Politique de sécurité du contenu (CSP) explique contre quoi elle protège.

Ils se définissent avec Set-Cookie: nom=valeur; Secure; HttpOnly; SameSite=Lax.

Attribut Signification
Secure Envoyé uniquement via HTTPS
HttpOnly Invisible pour JavaScript, ce qui limite ce qu'une attaque XSS peut voler
SameSite=Lax | Strict | None Contrôle l'envoi du cookie lors des requêtes inter-sites ; Lax est une valeur par défaut raisonnable et None exige Secure
Max-Age / Expires Sa durée de vie ; sans eux, il s'arrête avec la session du navigateur
Domain / Path Quels hôtes et chemins le reçoivent

En-têtes CORS

Les navigateurs empêchent une page de lire la réponse d'une autre origine, sauf si cette origine l'autorise. Au-delà d'une requête simple, le navigateur envoie d'abord une pré-vérification OPTIONS.

En-tête Rôle
Access-Control-Allow-Origin Quelle origine peut lire la réponse (* pour toutes, ou une origine exacte)
Access-Control-Allow-Methods Méthodes autorisées dans la réponse de pré-vérification
Access-Control-Allow-Headers En-têtes de requête autorisés dans la pré-vérification
Access-Control-Allow-Credentials true permet à la requête d'envoyer des cookies ; incompatible avec *

Les noms d'en-tête ne sont pas sensibles à la casse (content-type équivaut à Content-Type), mais leurs valeurs le sont souvent. Pour les codes d'état, voyez Aide-mémoire des codes d'état HTTP.

Essayez ces outils

Voir aussi

  • Glossaire Politique de sécurité du contenu (CSP)
    Une politique de sécurité du contenu est un en-tête HTTP qui indique au navigateur de quelles sources une page peut charger scripts.
  • Glossaire CORS
    Le CORS (Cross-Origin Resource Sharing) est le mécanisme du navigateur qui permet à un serveur d'autoriser des pages web d'autres origines.
  • Glossaire Cookie
    Un cookie est une petite donnée qu'un site web enregistre dans votre navigateur et renvoie avec les requêtes suivantes.
  • Aide-mémoire Aide-mémoire des codes d'état HTTP
    Les codes d'état HTTP que vous rencontrerez vraiment, par classe, avec les paires qu'on confond (401 ou 403.
  • Aide-mémoire Aide-mémoire des types MIME
    Les types MIME des pages web, données, images, audio, vidéo, polices et archives.
AdSense Placeholder
Slot: footer_leaderboard