Aller au contenu principal
Bethemesh
GuideBonnes pratiques

En-têtes HTTP de sécurité : lesquels activer et pourquoi

Comprenez HSTS, Referrer-Policy, Permissions-Policy, protections de framing et isolation cross-origin avant de les déployer.

Publié le 29 août 2026Lecture : 4 minPar Équipe Bethemesh
Débutant
Afficher le sommaire
  1. HSTS : imposer HTTPS avec prudence
  2. Referrer-Policy : contrôler l’information transmise
  3. Permissions-Policy : limiter les capacités
  4. Framing et isolation
  5. Vérifier ce qui est réellement envoyé
  6. X-Content-Type-Options : éviter certaines interprétations inattendues
  7. HSTS : durée, sous-domaines et preload
  8. Referrer-Policy : choisir le bon compromis
  9. Permissions-Policy : n’autoriser que les capacités utiles
  10. CSP et protections contre le framing
  11. COOP, COEP et CORP : utiles, mais pas universels
  12. Construire un ensemble cohérent

Les en-têtes HTTP permettent au serveur de donner au navigateur des instructions de sécurité avant même que la page soit entièrement interprétée. Ils sont puissants, mais doivent être choisis en fonction du comportement réel du site.

HSTS : imposer HTTPS avec prudence

Strict-Transport-Security demande au navigateur de revenir en HTTPS pendant une durée donnée. Il est pertinent lorsque tout le site et ses sous-domaines concernés fonctionnent correctement en HTTPS. Les options longues et le preload constituent un engagement à ne pas activer à la légère.

Referrer-Policy : contrôler l’information transmise

Referrer-Policy détermine quelle partie de l’URL d’origine peut être envoyée lors d’une navigation ou d’une requête. Une politique adaptée réduit les fuites inutiles d’informations sans casser les besoins légitimes de mesure ou d’intégration.

Permissions-Policy : limiter les capacités

Cette politique permet de restreindre l’accès à certaines fonctionnalités du navigateur, par exemple caméra, microphone ou géolocalisation, selon les besoins de l’application et des iframes.

Framing et isolation

X-Frame-Options reste rencontré pour contrôler l’intégration en iframe, tandis que frame-ancestors dans CSP offre un contrôle moderne et plus fin. COOP, COEP et CORP concernent l’isolation entre origines et peuvent être nécessaires à certaines fonctionnalités avancées, mais aussi rendre des ressources tierces incompatibles.

Vérifier ce qui est réellement envoyé

Le générateur d’en-têtes de sécurité produit une base pour plusieurs environnements. L’analyseur d’en-têtes HTTP aide à lire un ensemble d’en-têtes, et le générateur d’en-têtes HTTP facilite leur construction.

Testez ensuite les réponses réelles en production. Les protections doivent être présentes sur les bonnes routes et ne pas empêcher une fonctionnalité nécessaire.

Ces en-têtes complètent la Content Security Policy ; ils ne la remplacent pas.

X-Content-Type-Options : éviter certaines interprétations inattendues

X-Content-Type-Options: nosniff demande au navigateur de respecter le type MIME déclaré pour certains chargements au lieu d’essayer d’en deviner un autre. C’est une protection simple qui suppose néanmoins que le serveur annonce correctement ses contenus.

HSTS : durée, sous-domaines et preload

Une configuration HSTS contient généralement une durée max-age. includeSubDomains étend la règle aux sous-domaines ; il faut donc vérifier qu’ils sont tous disponibles en HTTPS avant de l’activer. Le mécanisme de preload va encore plus loin en inscrivant le domaine dans une liste utilisée par les navigateurs : il est utile dans certains contextes, mais son retrait n’est pas instantané.

Commencez avec une durée prudente lors de la mise au point, puis augmentez-la une fois l’infrastructure vérifiée. HSTS ne doit pas servir à masquer un déploiement HTTPS incomplet.

Referrer-Policy : choisir le bon compromis

Une URL peut contenir des chemins ou paramètres que vous ne souhaitez pas transmettre à un autre site. Des politiques modernes comme strict-origin-when-cross-origin limitent les informations envoyées lors de navigations cross-origin tout en conservant davantage de contexte sur une même origine.

La bonne règle dépend des besoins. Surtout, ne placez jamais un secret dans une URL en comptant sur Referrer-Policy pour le protéger : historique, logs et autres intermédiaires peuvent déjà l’avoir exposé.

Permissions-Policy : n’autoriser que les capacités utiles

Caméra, microphone, géolocalisation ou certaines API puissantes n’ont aucune raison d’être disponibles partout. Permissions-Policy permet de préciser quelles origines peuvent utiliser certaines fonctionnalités, notamment dans des iframes.

C’est particulièrement intéressant pour un site intégrant du contenu tiers : une iframe nécessaire pour afficher un composant n’a pas automatiquement besoin de toutes les capacités du navigateur.

CSP et protections contre le framing

Pour les applications modernes, frame-ancestors dans CSP permet de déclarer quelles origines ont le droit d’intégrer une page. X-Frame-Options reste utile pour la compatibilité avec certains environnements, mais offre moins de finesse. Évitez les configurations contradictoires et testez les intégrations réellement utilisées.

COOP, COEP et CORP : utiles, mais pas universels

Ces en-têtes renforcent l’isolation entre contextes et ressources cross-origin. Ils peuvent être nécessaires pour certaines capacités du Web moderne, mais ils imposent aussi des contraintes aux ressources tierces. Les activer « parce qu’ils sont dans une checklist » peut casser une application.

Le bon réflexe consiste à partir du besoin fonctionnel, comprendre les conséquences, puis vérifier les réponses réelles avec l’analyseur d’en-têtes HTTP.

Construire un ensemble cohérent

Une base raisonnable associe souvent HTTPS, HSTS lorsque le domaine est prêt, nosniff, une Referrer-Policy explicite et une CSP adaptée. Permissions-Policy et les mécanismes d’isolation viennent ensuite selon les fonctionnalités.

Le nombre d’en-têtes n’est pas un score de sécurité. Une petite configuration comprise et testée vaut mieux qu’une liste copiée qui casse le site ou crée une fausse confiance.

Outils associés

Développement

Analyseur d’en-têtes HTTP

Analysez des en-têtes HTTP pour vérifier la sécurité, le cache, CORS et les cookies d’une réponse.

100 % local
Utiliser l’outil
Développement

Générateur d’en-têtes HTTP

Construisez des en-têtes HTTP personnalisés et récupérez une sortie prête à utiliser dans vos requêtes.

100 % local
Utiliser l’outil

Collection

Sécuriser un site Web

  1. 01Sécurité Web : comprendre les protections essentielles d’un site
  2. 02Content Security Policy (CSP) : réduire les risques XSS et les chargements indésirables
  3. 03En-têtes HTTP de sécurité : lesquels activer et pourquoi
  4. 04Subresource Integrity (SRI) : vérifier l’intégrité des ressources externes
  5. 05JWT : comprendre structure, signature, expiration et erreurs courantes
  6. 06Mots de passe : génération, robustesse et politiques utiles
  7. 07Hash, intégrité et comparaison d’empreintes : ce qu’un hash peut vraiment prouver

Cet article vous a-t-il été utile ?