En-têtes HTTP
En-têtes standard de requête et de réponse, regroupés par fonction. Ouvrez un en-tête pour sa syntaxe, ses directives et des exemples concrets.
Authentification
WWW-AuthenticateDemandez des identifiants avec WWW-Authenticate. Configurez les schémas Basic, Bearer, Digest et autres dans les réponses 401.
AuthorizationEnvoyez des identifiants via l’en-tête Authorization. Schémas Basic, Bearer et Digest, syntaxe et conseils de sécurité.
Proxy-AuthenticateComprendre comment Proxy-Authenticate réclame des identifiants de proxy via une réponse 407. Schémas d’authentification, syntaxe et exemples de chaînes de proxy.
Proxy-AuthorizationUtilisez l’en-tête Proxy-Authorization pour envoyer des identifiants au proxy après un défi 407. Schémas d’authentification, syntaxe et comportement en chaîne.
Mise en cache
AgeMesurez la fraîcheur du cache avec l’en-tête Age : comment les CDN et proxys indiquent le temps écoulé depuis la réponse d’origine.
Cache-ControlContrôlez la mise en cache navigateur et CDN via les directives Cache-Control. Syntaxe, exemples concrets et bonnes pratiques.
ExpiresComprendre l’en-tête Expires et la fraîcheur de cache fondée sur un horodatage. Son interaction avec Cache-Control et quand préférer l’un ou l’autre.
Clear-Site-DataEffacez caches, cookies et stockage du navigateur avec Clear-Site-Data. Parcours de déconnexion, directives et schémas de déploiement.
Requêtes conditionnelles
Last-ModifiedComprendre l’en-tête Last-Modified et la validation de cache par date. Comment les serveurs indiquent l’horodatage de modification pour les requêtes conditionnelles.
ETagDécouvrez comment les identifiants ETag permettent la revalidation du cache et le contrôle de concurrence. ETags forts et faibles, syntaxe et motifs de requêtes conditionnelles.
If-MatchComprendre l’en-tête If-Match et les requêtes conditionnelles fondées sur ETag. Évitez les pertes de mise à jour grâce au contrôle de concurrence optimiste sur PUT et DELETE.
If-None-MatchDécouvrez comment If-None-Match valide les ressources en cache via les ETags. Mettez en place la revalidation et évitez les écrasements avec des requêtes conditionnelles.
If-Modified-SinceDécouvrez comment If-Modified-Since permet la revalidation du cache par date pour GET et HEAD. Économisez de la bande passante avec des réponses conditionnelles et le statut 304.
If-Unmodified-SinceComprendre If-Unmodified-Since et comment les préconditions par date évitent les pertes de mise à jour. Protégez PUT et DELETE des modifications concurrentes.
VaryContrôlez les variantes de cache avec l’en-tête Vary. Indiquez aux caches quels en-têtes de requête influent sur la réponse afin de stocker et servir la bonne représentation.
Négociation de contenu
AcceptNégociez les types de médias de la réponse via l’en-tête Accept. Valeurs de qualité, jokers, déroulé de la négociation de contenu et exemples.
Accept-EncodingNégociez la compression via Accept-Encoding. Algorithmes pris en charge, valeurs de qualité, syntaxe et mise en œuvre côté serveur.
Accept-LanguageNégociez la langue du contenu via Accept-Language. Balises BCP 47, valeurs de qualité, traitement serveur et exemples.
Accept-CharsetComprendre pourquoi Accept-Charset est obsolète et comment UTF-8 a remplacé la négociation de jeux de caractères. Historique, syntaxe et conseils de migration.
Informations sur le contenu
Content-TypeDéclarez les types de médias avec Content-Type. Types MIME, paramètre charset, négociation de contenu et risques de MIME sniffing.
Content-LengthDéclarez la taille du corps du message avec Content-Length. Comptage d’octets, réutilisation des connexions, indicateurs de progression et pièges.
Content-EncodingIndiquez la compression de la réponse via Content-Encoding. Algorithmes gzip, br, zstd, configuration serveur et décodage.
Content-LanguageDéclarez la langue du public visé avec Content-Language. Balises de langue, négociation de contenu et configuration multilingue.
Content-LocationDésignez la représentation négociée via Content-Location. Différence avec Location, impact sur le cache et exemples.
Content-DispositionDéclenchez le téléchargement ou l’affichage en ligne via Content-Disposition. attachment, encodage du nom de fichier et usage dans les données de formulaire.
Content-RangeServez du contenu partiel via Content-Range. Syntaxe des plages d’octets, téléchargements reprenables, streaming média et déroulé de la réponse 206.
Cookies
CORS
Access-Control-Allow-OriginContrôlez l’accès cross-origin via Access-Control-Allow-Origin. Jokers, origines dynamiques, erreurs CORS et corrections.
Access-Control-Allow-MethodsAutorisez des méthodes HTTP lors du préflight CORS via Access-Control-Allow-Methods. Syntaxe, règles de jokers et configuration serveur.
Access-Control-Allow-HeadersAutorisez des en-têtes personnalisés dans les requêtes CORS via Access-Control-Allow-Headers. Configuration du préflight, jokers et exemples.
Access-Control-Allow-CredentialsEnvoyez cookies et identifiants dans les requêtes CORS via Access-Control-Allow-Credentials. Configuration, pièges et corrections.
OriginComprendre comment l’en-tête de requête Origin identifie la provenance d’une requête pour CORS. Syntaxe, comportement du navigateur et validation côté serveur.
Requêtes de plage
Accept-RangesActivez les téléchargements reprenables avec Accept-Ranges. Requêtes partielles, service par octets, streaming et configuration serveur.
RangeUtilisez l’en-tête Range pour demander du contenu partiel au serveur. Syntaxe des plages d’octets, réponses multipart, reprise de téléchargement et exemples de streaming.
If-RangeDécouvrez comment If-Range rend les requêtes de plage conditionnelles pour une reprise sûre. Obtenez le contenu partiel ou la ressource entière sans erreur 412.
Redirections
LocationComprendre comment l’en-tête Location pilote les redirections HTTP et signale les ressources nouvellement créées. Syntaxe, types de redirection et exemples.
Retry-AfterUtilisez l’en-tête Retry-After pour indiquer aux clients quand réessayer après une réponse 429 ou 503. Format en secondes, format HTTP-date et conseils pour les bots.
Contexte de la requête
HostComprendre l’en-tête Host, obligatoire en HTTP/1.1. Fonctionnement de l’hébergement virtuel, règles de syntaxe et résolution du domaine cible par le serveur.
User-AgentIdentifiez le logiciel client via User-Agent. Analysez les jetons de produit, comprenez la réduction d’UA et mettez en place des stratégies de détection de bots.
RefererComprendre comment l’en-tête Referer identifie la page d’origine du lien. Analytique, contrôle d’accès, risques de confidentialité et interaction avec Referrer-Policy.
Referrer-PolicyMettez en place Referrer-Policy pour contrôler les informations de référent envoyées par les navigateurs. Options de directive, enjeux de confidentialité et exemples de déploiement.
Contexte de la réponse
AllowAnnoncez les méthodes HTTP prises en charge via l’en-tête Allow. Obligatoire dans les réponses 405, gestion d’OPTIONS et syntaxe.
DateComprendre l’en-tête HTTP Date et la façon dont les serveurs d’origine horodatent les réponses. Son rôle dans le calcul de la fraîcheur du cache et le comportement des proxys.
ServerIdentifiez le logiciel serveur via l’en-tête Server. Syntaxe des jetons de produit, risques liés à l’exposition de la version et bonnes pratiques.
Sécurité
Strict-Transport-SecurityImposez HTTPS avec Strict-Transport-Security. Configurez max-age, includeSubDomains et preload de HSTS, et prévenez les attaques par rétrogradation.
Content-Security-PolicyPrévenez les attaques XSS et par injection avec Content-Security-Policy. Directives, listes de sources, nonces et déploiement.
X-Content-Type-OptionsPrévenez les attaques de MIME sniffing avec X-Content-Type-Options: nosniff. Forcez les navigateurs à respecter le Content-Type déclaré de chaque réponse.
X-Frame-OptionsPrévenez le clickjacking avec X-Frame-Options. Contrôlez l’intégration en frame via DENY et SAMEORIGIN, et l’alternative CSP frame-ancestors.
Permissions-PolicyMettez en place Permissions-Policy pour contrôler les fonctionnalités du navigateur accessibles au site et aux iframes intégrées. Directives, listes d’autorisation et exemples.
Codage de transfert
Transfer-EncodingEncodez les corps de message pour un transfert sûr via Transfer-Encoding. Comprendre l’encodage chunked, la sémantique hop-by-hop et les réponses en flux.
TEDéclarez vos préférences de codage de transfert via l’en-tête TE. Négociez les trailers chunked et la compression entre client et serveur.
ConnectionGérez le cycle de vie de la connexion TCP via l’en-tête Connection. keep-alive, close, comportement hop-by-hop et évolutions en HTTP/2.
UpgradeChangez de protocole sur une connexion existante via l’en-tête Upgrade. Négociez les passages à WebSocket, HTTP/2 et TLS au-dessus de HTTP/1.1.