En-têtes HTTP
Affiche les en-têtes de réponse et audite les politiques de sécurité.
-
HSTS is set with a long max-age — browsers will refuse plaintext HTTP for the next 6+ months.max-age=31536000; includeSubdomains; preload
-
CSP is set with reasonable defaults — script and style sources are restricted.default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com github.githubassets.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net productionresultssa1.blob.core.windows.net productionresultssa2.blob.core.windows.net productionresultssa3.blob.core.windows.net productionresultssa4.blob.core.windows.net productionresultssa5.blob.core.windows.net productionresultssa6.blob.core.windows.net productionresultssa7.blob.core.windows.net productionresultssa8.blob.core.windows.net productionresultssa9.blob.core.windows.net productionresultssa10.blob.core.windows.net productionresultssa11.blob.core.windows.net productionresultssa12.blob.core.windows.net productionresultssa13.blob.core.windows.net productionresultssa14.blob.core.windows.net productionresultssa15.blob.core.windows.net productionresultssa16.blob.core.windows.net productionresultssa17.blob.core.windows.net productionresultssa18.blob.core.windows.net productionresultssa19.blob.core.windows.net github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com wss://alive-staging.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com wss://production-copilot-host.webpubsub.azure.com edge.fullstory.com rs.fullstory.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com www.youtube-nocookie.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com user-images.githubusercontent.com private-user-images.githubusercontent.com opengraph.githubassets.com marketplace-screenshots.githubusercontent.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com explore-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com images.ctfassets.net/8aevphvgewt8/; manifest-src 'self'; media-src github.com user-images.githubusercontent.com secured-user-images.githubusercontent.com private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com github.githubassets.com assets.ctfassets.net/8aevphvgewt8/ videos.ctfassets.net/8aevphvgewt8/; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
-
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 leaks parts of the URL cross-origin — switch to strict-origin-when-cross-origin.origin-when-cross-origin, 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.