Security

En-têtes HTTP

Affiche les en-têtes de réponse et audite les politiques de sécurité.

URL http or https (default https). Up to 3 redirects are followed.
https://github.com/
Status: 200 HTTP/1.1 105 ms
B
Security grade?
Score
82 / 100
Status
200
Protocol?
HTTP/1.1
Latency?
105 ms
Security audit
  • pass Strict-Transport-Security? +25/25
    HSTS is set with a long max-age — browsers will refuse plaintext HTTP for the next 6+ months.
    max-age=31536000; includeSubdomains; preload
  • pass Content-Security-Policy? +25/25
    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/
  • pass X-Frame-Options / frame-ancestors? +15/15
    Clickjacking is blocked — page cannot be embedded in third-party iframes.
    deny
  • pass X-Content-Type-Options +10/10
    nosniff is set — browsers will not MIME-sniff non-script responses as JavaScript.
    nosniff
  • warn Referrer-Policy? +7/15
    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
  • fail Permissions-Policy? +0/10
    No Permissions-Policy — third-party iframes can request sensitive features without restriction.
Response headers
date: Sun, 26 Jul 2026 18:12:49 GMT content-type: text/html; charset=utf-8 vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With, X-GitHub-Client-Version, Accept-Language, Sec-Fetch-Site,Accept-Encoding, Accept, X-Requested-With content-language: en-US etag: W/"3f956f090971482e9a8d1fe36c4b9d2c" cache-control: max-age=0, private, must-revalidate strict-transport-security: max-age=31536000; includeSubdomains; preload x-frame-options: deny x-content-type-options: nosniff x-xss-protection: 0 referrer-policy: origin-when-cross-origin, strict-origin-when-cross-origin content-security-policy: 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/ server: github.com accept-ranges: bytes set-cookie: _gh_sess=m%2BrnpRyf41Hid2dXaFF3uLKnLVzp7t5PD6DHlc4zukNN4tXflxC9U9jl%2Fj5b0lM8gY8hYmCIWsSnZ8AdrYQ%2F92MvnLsfUa8FEQ3JPeUHuTkrM9iw%2BzpnEqpkwPGBAxIBVebyY0FaKa1y%2BVDbWiOEWH0j5svDgrOx2DaoQnt9%2BMbyJiyqaONYhV3tTZGw42nBsWvBn5MTpi8qDgdBAJjEGWB9d%2BjZO7Kqip0XIGaV8fDqSTcaiJKp3Z6aMLnIVdLqvaAGgNNZgHeMFYVt6buYTA%3D%3D--LCqf2Odb6EireZy4--GMG2EqAG1JOqMV3kIW2rXg%3D%3D; path=/; HttpOnly; secure; SameSite=Lax set-cookie: _octo=GH1.1.1876972737.1785089580; expires=Mon, 26 Jul 2027 18:13:00 GMT; domain=.github.com; path=/; secure; SameSite=Lax set-cookie: logged_in=no; expires=Mon, 26 Jul 2027 18:13:00 GMT; domain=.github.com; path=/; HttpOnly; secure; SameSite=Lax x-github-request-id: ECD6:DB2F2:2B8E3F6:21E7976:6A664E2C transfer-encoding: chunked
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-Control et Vary votre 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-Cache et 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 sans includeSubDomains, 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 ?

Strict-Transport-Security indique au navigateur "utilisez toujours HTTPS pour ce domaine, même si l'utilisateur a tapé http:// ou cliqué sur un lien http://". Une fois défini avec un 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 ?

Sans CSP, tout trou XSS dans votre site s'exécute avec une pleine puissance : il peut exfiltrer des cookies, charger des scripts contrôlés par l'attaquant ou réécrire le DOM. Un CSP de départ 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 ?

Oui — jusqu'à cinq sauts. Chaque étape est affichée avec sa méthode, son statut, son emplacement et ses en-têtes afin que vous puissiez repérer les sauts à protocole mixte (HTTP→HTTPS), la canonicalisation manquante (apex vs www) ou les boucles accidentelles. La plupart des sites de production devraient rediriger au maximum une fois (HTTP → HTTPS), puis servir le contenu ; plus de deux sauts est généralement un signe de règles de réécriture qui se chevauchent.

Pourquoi l'outil affiche-t-il HTTP/2 même si j'ai configuré HTTP/3 ?

HTTP/3 (QUIC sur UDP) nécessite que le client accepte via l'en-tête 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.