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://www.cloudflare.com/
Status: 200 HTTP/1.1 831 ms
B
Security grade?
Score
87 / 100
Status
200
Protocol?
HTTP/1.1
Latency?
831 ms
Redirect chain?
  1. 301 — https://cloudflare.com/
  2. 200 — https://www.cloudflare.com/
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
  • warn Content-Security-Policy? +12/25
    CSP allows both unsafe-inline and unsafe-eval — XSS protection is largely defeated.
    default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://static.cloudflareinsights.com https://static-staging.cloudflareinsights.com https://challenges.cloudflare.com https://*.onetrust.com https://cdn.cookielaw.org https://ot.www.cloudflare.com https://www.googletagmanager.com https://tagmanager.google.com https://www.googleadservices.com https://googleads.g.doubleclick.net https://adservice.google.com https://cdn.bizible.com https://js.adsrvr.org https://*.marketo.net https://platform.twitter.com https://static.ads-twitter.com https://scripts.demandbase.com https://tag.demandbase.com https://*.6sc.co https://*.qualified.com https://snap.licdn.com https://bat.bing.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data:; connect-src 'self' https://*.googletagmanager.com https://*.google-analytics.com https://*.analytics.google.com https://analytics.google.com https://*.doubleclick.net https://www.googleadservices.com https://translate.googleapis.com https://cdn.bizible.com https://js.adsrvr.org https://*.marketo.net https://ads-twitter.com https://analytics.twitter.com https://*.twimg.com https://api.demandbase.com https://scripts.demandbase.com https://tag.demandbase.com https://tag-logger.demandbase.com https://api.company-target.com https://*.6sc.co https://epsilon.6sense.com https://*.qualified.com wss://*.qualified.com https://*.ads.linkedin.com https://www.linkedin.com https://bat.bing.com https:; frame-src https://*.adsrvr.org https://*.cloudflare.com https://*.videodelivery.net https://*.cloudflarestream.com https://www.googletagmanager.com https://*.qualified.com https://td.doubleclick.net https://bid.g.doubleclick.net https://9309168.fls.doubleclick.net https://9973066.fls.doubleclick.net https://s.company-target.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; worker-src 'self' blob:; child-src 'self' blob:; upgrade-insecure-requests
  • pass X-Frame-Options / frame-ancestors? +15/15
    Clickjacking is blocked — page cannot be embedded in third-party iframes.
    SAMEORIGIN
  • pass X-Content-Type-Options +10/10
    nosniff is set — browsers will not MIME-sniff non-script responses as JavaScript.
    nosniff
  • pass Referrer-Policy? +15/15
    Referrer policy keeps full URLs from leaking to third-party origins.
    strict-origin-when-cross-origin
  • pass Permissions-Policy? +10/10
    Permissions policy restricts browser features (camera, mic, geolocation) for embeds.
    geolocation=(), camera=(), microphone=()
Response headers
date: Sun, 26 Jul 2026 18:57:03 GMT content-type: text/html; charset=utf-8 transfer-encoding: chunked connection: keep-alive link: <https://www.cloudflare.com/.well-known/agents.json>; rel="api-catalog", <https://www.cloudflare.com/.well-known/webmcp.json>; rel="service-desc", <https://www.cloudflare.com/openapi.json>; rel="service-desc", <https://www.cloudflare.com/llms.txt>; rel="service-doc", <https://www.cloudflare.com/sitemap.xml>; rel="sitemap", </fonts/Kunst%20Grotesk%20Regular.woff2>; rel=preload; as=font; type="font/woff2"; crossorigin, </fonts/Kunst%20Grotesk%20Medium.woff2>; rel=preload; as=font; type="font/woff2"; crossorigin, <https://ot.www.cloudflare.com>; rel=preconnect; crossorigin, <https://imagedelivery.net>; rel=preconnect; crossorigin, </static/hero-poster.avif>; rel=preload; as=image; type="image/avif"; fetchpriority=high cache-control: public, max-age=10, s-maxage=10 strict-transport-security: max-age=31536000; includeSubDomains cf-placement: remote-MXP content-security-policy: default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://static.cloudflareinsights.com https://static-staging.cloudflareinsights.com https://challenges.cloudflare.com https://*.onetrust.com https://cdn.cookielaw.org https://ot.www.cloudflare.com https://www.googletagmanager.com https://tagmanager.google.com https://www.googleadservices.com https://googleads.g.doubleclick.net https://adservice.google.com https://cdn.bizible.com https://js.adsrvr.org https://*.marketo.net https://platform.twitter.com https://static.ads-twitter.com https://scripts.demandbase.com https://tag.demandbase.com https://*.6sc.co https://*.qualified.com https://snap.licdn.com https://bat.bing.com; style-src 'self' 'unsafe-inline'; img-src 'self' data: https:; font-src 'self' data:; connect-src 'self' https://*.googletagmanager.com https://*.google-analytics.com https://*.analytics.google.com https://analytics.google.com https://*.doubleclick.net https://www.googleadservices.com https://translate.googleapis.com https://cdn.bizible.com https://js.adsrvr.org https://*.marketo.net https://ads-twitter.com https://analytics.twitter.com https://*.twimg.com https://api.demandbase.com https://scripts.demandbase.com https://tag.demandbase.com https://tag-logger.demandbase.com https://api.company-target.com https://*.6sc.co https://epsilon.6sense.com https://*.qualified.com wss://*.qualified.com https://*.ads.linkedin.com https://www.linkedin.com https://bat.bing.com https:; frame-src https://*.adsrvr.org https://*.cloudflare.com https://*.videodelivery.net https://*.cloudflarestream.com https://www.googletagmanager.com https://*.qualified.com https://td.doubleclick.net https://bid.g.doubleclick.net https://9309168.fls.doubleclick.net https://9973066.fls.doubleclick.net https://s.company-target.com; object-src 'none'; base-uri 'self'; form-action 'self'; frame-ancestors 'none'; worker-src 'self' blob:; child-src 'self' blob:; upgrade-insecure-requests cross-origin-opener-policy: unsafe-none cross-origin-resource-policy: cross-origin permissions-policy: geolocation=(), camera=(), microphone=() referrer-policy: strict-origin-when-cross-origin x-content-type-options: nosniff x-frame-options: SAMEORIGIN x-served-by: marketing-site x-xss-protection: 1; mode=block x-rm: GW vary: accept-encoding set-cookie: __cf_bm=Y9sU2qIraSYUYaiH0xmTGat3v1qavYiORbLR1RXnsLI-1785092222.757239-1.0.1.1-SXzDKMpFl5QYqGMqBKBa5GEspsbZCI9z8g41dIXBaAsUsP27Kshq.oURLL9wPg9hQVYapbpMPL5dO3MYgaCH.DgvYthHaeUBm2JptOhWjiIUqWZ6xVLS7yYfWMshZZHEIDEanq6YwnuQgNyTLVVTgA; HttpOnly; SameSite=None; Secure; Path=/; Domain=www.cloudflare.com; Expires=Sun, 26 Jul 2026 19:27:02 GMT report-to: {"group":"cf-nel","max_age":604800,"endpoints":[{"url":"https://a.nel.cloudflare.com/report/v4?s=eZqGEpllhtskG%2FATPFYxeRXBAR7P0KNrLv753sVVawLjm2B94D8Zueq8891SXEai%2FQMBx%2FMCHxi8NDdheIrGQ77WgeJlz2W1U%2BufMl%2Byezlxjk4q%2BNzlyp285XorfTd03AYN8g%3D%3D"}]} nel: {"report_to":"cf-nel","success_fraction":0.0,"max_age":604800} server: cloudflare cf-ray: a215a0b83d07368c-FRA alt-svc: h3=":443"; ma=86400
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.