En-têtes HTTP
Affiche les en-têtes de réponse et audite les politiques de sécurité.
- 301 — https://mozilla.org/
- 200 — https://www.mozilla.org/
-
HSTS is set with a long max-age — browsers will refuse plaintext HTTP for the next 6+ months.max-age=31536000
-
CSP allows both unsafe-inline and unsafe-eval — XSS protection is largely defeated.img-src 'self' blog.mozilla.org data: images.ctfassets.net www.google-analytics.com www.googletagmanager.com www.mozilla.org; form-action 'self' https://abdri3ttkb.execute-api.us-east-2.amazonaws.com https://accounts.firefox.com/ https://basket.mozilla.org; font-src 'self' www.mozilla.org; frame-ancestors 'none'; connect-src 'self' *.analytics.google.com *.google-analytics.com *.googletagmanager.com analytics.google.com cdn.transcend.io google-analytics.com googletagmanager.com gtm.mozilla.org https://abdri3ttkb.execute-api.us-east-2.amazonaws.com https://accounts.firefox.com/ https://basket.mozilla.org o1069899.ingest.sentry.io o1069899.sentry.io region1.google-analytics.com telemetry.transcend.io telemetry.us.transcend.io transcend-cdn.com www.mozilla.org/submit/bedrock/; base-uri 'none'; object-src 'none'; default-src 'self' *.mozilla.org; style-src 'self' 'unsafe-inline' cdn.transcend.io transcend-cdn.com www.mozilla.org; script-src 'self' 'unsafe-eval' 'unsafe-inline' *.google-analytics.com *.googletagmanager.com cdn.transcend.io google-analytics.com googletagmanager.com js.stripe.com s.ytimg.com tagmanager.google.com transcend-cdn.com www.mozilla.org www.youtube.com; frame-src 'self' accounts.firefox.com gtm.mozilla.org js.stripe.com www.google-analytics.com www.googletagmanager.com www.youtube.com; media-src 'self' assets.mozilla.net videos.cdn.mozilla.net www.mozilla.org; upgrade-insecure-requests
-
Clickjacking is blocked — page cannot be embedded in third-party iframes.DENY
-
pass X-Content-Type-Options +10/10nosniff is set — browsers will not MIME-sniff non-script responses as JavaScript.nosniff
-
Referrer policy keeps full URLs from leaking to third-party origins.strict-origin-when-cross-origin
-
No Permissions-Policy — third-party iframes can request sensitive features without restriction.
What does each field mean?
Field reference
Note de sécurité
Score agrégé des en-têtes de sécurité pondéré par leur impact : HSTS et CSP pèsent le plus. A+ exige les cinq en-têtes correctement configurés ; F signifie qu'aucun n'est présent. Servez-vous-en comme indicateur rapide, puis examinez les détails par en-tête plus bas.
Protocole HTTP
HTTP/1.1 est le protocole texte historique. HTTP/2 multiplexe des flux sur une seule connexion TCP (compression d'en-têtes, server push). HTTP/3 fonctionne sur QUIC (UDP) — meilleur sur les réseaux instables ou mobiles. Un serveur moderne devrait exposer au moins HTTP/2.
Latence
Aller-retour entre notre serveur et la cible jusqu'à l'arrivée du premier octet de réponse. Ce n'est pas un benchmark CDN — distance géographique, handshake TLS et chauffe du serveur entrent en jeu. À utiliser comme signal de fraîcheur grossier, pas comme métrique de production.
Chaîne de redirections
Une chaîne longue (3+ redirections) nuit au SEO et aux performances. Le schéma classique est <code>http://example.com → https://example.com → https://www.example.com</code> : deux sauts, acceptable. Au-delà de cinq, c'est une mauvaise configuration.
Strict-Transport-Security (HSTS)
HSTS dit au navigateur "ne te reconnecte plus à moi en HTTP simple". <code>max-age=15768000</code> (6 mois) est le minimum pratique ; <code>includeSubDomains; preload</code> permet de s'inscrire sur la liste de préchargement HSTS globale. Une fois préchargé, on ne peut plus se retirer pendant ~12 mois — configurez tout le reste avant.
Content-Security-Policy (CSP)
CSP autorise les emplacements depuis lesquels scripts, styles, images et frames peuvent être chargés. <code>default-src 'self'</code> est une base saine ; <code>script-src</code> à base de nonces est le plus robuste. Méfiez-vous de <code>unsafe-inline</code> et <code>unsafe-eval</code> — ils annulent la majeure partie de la protection XSS du CSP. Utilisez report-uri / report-to pour le monitoring.
X-Frame-Options
Mettez <code>DENY</code> pour interdire totalement l'intégration, ou <code>SAMEORIGIN</code> pour n'autoriser que les frames de même origine. L'équivalent moderne est <code>frame-ancestors</code> dans le CSP (syntaxe plus riche) — l'un ou l'autre satisfait notre audit.
Referrer-Policy
Détermine ce que le navigateur envoie dans l'en-tête <code>Referer</code>. <code>strict-origin-when-cross-origin</code> (défaut dans les navigateurs modernes) est une bonne base : URL complète en same-origin, origine seule en cross-origin, rien lors d'un downgrade. <code>no-referrer</code> supprime entièrement le referrer ; <code>unsafe-url</code> fuite l'URL complète sur downgrade — à éviter.
Permissions-Policy
Successeur de Feature-Policy. Permet d'autoriser / refuser les API navigateur par origine : <code>camera=(), microphone=(), geolocation=(self)</code>. Essentiellement de la défense en profondeur ; appliqué aux iframes, donc comportement plus sûr pour le contenu intégré.
X-Content-Type-Options: nosniff
Sans cet en-tête, le navigateur peut exécuter une réponse JSON comme du JavaScript si "ça ressemble à du script". Poser <code>X-Content-Type-Options: nosniff</code> force le respect du Content-Type déclaré. Peu coûteux, toujours sûr à activer — aucune bonne raison de l'omettre.
À propos de cet outil
HTTP Headers récupère votre URL avec une véritable requête HTTPS, capture chaque en-tête dans la réponse (et chaque réponse intermédiaire le long de toute chaîne de redirection), et fait passer le résultat par un audit de sécurité couvrant les en-têtes de durcissement modernes : Strict-Transport-Security, Content-Security-Policy, X-Frame-Options / CSP frame-ancestors, X-Content-Type-Options, Referrer-Policy et Permissions-Policy. Chaque en-tête est vérifié pour la présence, la cohérence des valeurs et les écarts de bonnes pratiques.
Au-delà de l'audit, nous listons chaque en-tête textuellement afin que vous puissiez confirmer la politique de cache (Cache-Control, ETag, Vary), le traçage CDN (CF-Ray, X-Cache, X-Served-By), la compression (Content-Encoding: br/gzip) et tous les en-têtes personnalisés que votre pile émet. La méthode HTTP (GET ou HEAD), la version HTTP négociée (HTTP/1.1, HTTP/2, HTTP/3) et la version TLS sont rapportées dans la barre de requête.
Quand utiliser cet outil
- Durcissement de la sécurité. Avant la mise en ligne, confirmez que HSTS, CSP et le reste sont définis avec des valeurs sûres — Mozilla Observatory baseline au minimum.
- Débogage du cache. Voyez exactement ce que
Cache-ControletVaryvotre CMS ou framework émet — cause courante de "l'ancienne version reste collée". - Audits de chaîne de redirection. Repérez les chaînes accidentelles 302-puis-301, les boucles HTTP-vers-HTTPS-vers-hôte différent, et la canonicalisation manquante.
- Comportement CDN. Confirmez que Cloudflare/Fastly/CloudFront met réellement en cache ce que vous pensez qu'il fait en lisant les en-têtes
Age,X-Cacheet spécifiques au CDN.
Ce que couvre notre audit de sécurité
Pour chacun des six en-têtes de durcissement, nous rapportons : présent ou manquant, la valeur réelle, et un verdict court ("bon", "besoin de resserrer", "vulnérable"). HSTS sansincludeSubDomains, CSP avec unsafe-inline, ou Referrer-Policy laissé par défaut sont signalés. Nous ne vous disons jamais la politique "parfaite" car chaque site est différent — mais nous vous disons quels boutons sont encore au réglage d'usine.
Questions fréquentes
Qu'est-ce que HSTS et pourquoi est-ce important ?
max-age raisonnable (typiquement 31536000 = 1 an), il empêche les attaques de dégradation SSL lors des visites ultérieures. L'ajout de includeSubDomains étend la protection à chaque sous-domaine — par défaut fort pour la plupart des sites mais assurez-vous que tous prennent vraiment en charge HTTPS d'abord.
Mon CSP est manquant — à quel point est-ce dangereux ?
default-src 'self' bloque les charges utiles XSS les plus courantes (scripts inline, chargements de scripts externes) à un coût quasi nul. Des politiques plus strictes qui interdisent entièrement les scripts inline nécessitent une refactorisation mais fournissent une protection beaucoup plus forte.
Suivez-vous les redirections ?
Pourquoi l'outil affiche-t-il HTTP/2 même si j'ai configuré HTTP/3 ?
Alt-Svc lors de la première connexion. Notre vérificateur utilise HTTP/2 sur TCP par défaut, ce que la plupart des clients HTTP font encore aujourd'hui ; si votre serveur annonce HTTP/3 dans Alt-Svc, vous verrez cet en-tête dans le résultat, mais la réponse elle-même est toujours sur HTTP/2. La présence de Alt-Svc est la bonne chose à rechercher.