HTTP Headers Checker
Cet outil gratuit de vérification des en-têtes HTTP demande une URL et liste tous les en-têtes de réponse que le serveur envoie : statut, type de contenu, cache, compression, cookies et en-têtes de sécurité. Chaque en-tête de sécurité (HSTS, Content-Security-Policy, X-Content-Type-Options, X-Frame-Options, Referrer-Policy, Permissions-Policy) est noté réussi, à améliorer ou absent, avec la ligne à ajouter. Il convient aux développeurs et propriétaires de sites.
HTTP Headers Checker
Technical SEO
À propos de cet outil
Les en-têtes de réponse sont la partie d'une page web que personne ne voit et dont tout le monde dépend. Ils indiquent aux navigateurs s'il faut mettre en cache la page, si elle peut être encadrée par un autre site, quels scripts peuvent s'exécuter, si les cookies sont protégés contre les scripts, et s'il faut insister sur HTTPS. Les en-têtes de sécurité manquants sont la découverte la plus courante dans tout audit de sécurité de site web, et la plupart ne nécessitent qu'une ligne de configuration serveur pour être corrigés.
L'outil demande l'URL à partir de notre serveur, suit jusqu'à trois redirections, et affiche les en-têtes de la réponse finale exactement tels que reçus, dans une boîte copiable. Il note ensuite ceux qui importent : Strict-Transport-Security, Content-Security-Policy, X-Content-Type-Options, X-Frame-Options (ou une directive frame-ancestors), Referrer-Policy, Permissions-Policy, drapeaux de cookies (Secure, HttpOnly, SameSite), Cache-Control, Content-Encoding et les chaînes de version divulguées par Server et X-Powered-By.
Les en-têtes peuvent différer selon le chemin, l'appareil et selon qu'un CDN serve la page, alors vérifiez les pages qui importent plutôt que seulement la page d'accueil. Une Content-Security-Policy est notée présente ou absente, non pas pour sa force, car une politique sûre dépend des scripts que votre site utilise réellement. Les en-têtes définis par JavaScript ou dans le HTML (meta http-equiv) ne sont pas des en-têtes de réponse et n'apparaissent pas ici.
Questions fréquentes
Quels en-têtes de sécurité chaque site web devrait-il envoyer ?
Au minimum : Strict-Transport-Security sur les sites HTTPS, X-Content-Type-Options: nosniff, une règle d'encadrement (X-Frame-Options: SAMEORIGIN ou Content-Security-Policy avec frame-ancestors), et Referrer-Policy: strict-origin-when-cross-origin. Une Content-Security-Policy et une Permissions-Policy sont l'étape suivante. Tous sont des lignes uniques dans les paramètres Nginx, Apache ou de votre CDN.
Que fait HSTS et est-il sûr de l'activer ?
Strict-Transport-Security indique aux navigateurs d'utiliser HTTPS pour votre domaine pendant le temps indiqué, même quand un lien dit http. Cela arrête les attaques de rétrogradation et économise une redirection. Activez-le uniquement quand chaque page et sous-domaine fonctionne sur HTTPS, commencez avec un max-age court comme 300, puis augmentez-le à 31536000 (un an) une fois que vous êtes sûr.
Les en-têtes de sécurité affectent-ils le SEO ?
Pas directement : Google ne classe pas les sites par en-têtes. Ils importent pour la confiance et la sécurité, et HSTS peut économiser une redirection. Les en-têtes de cache et de compression affectent la vitesse, qui est un facteur de classement, donc Cache-Control sur les fichiers statiques et la compression gzip ou Brotli valent la peine d'être corrigés en premier.
Pourquoi l'outil affiche-t-il des en-têtes différents de mon navigateur ?
Les serveurs et CDN varient les en-têtes selon la demande : une session connectée, un agent utilisateur mobile, une copie en cache à l'edge du CDN ou une région différente peuvent tous les modifier. Notre demande provient d'un serveur avec un agent utilisateur de navigateur de bureau et sans cookies, alors comparez-la avec une fenêtre de navigation privée.
Dois-je masquer les en-têtes Server et X-Powered-By ?
Masquez au moins les numéros de version. Annoncer « Apache/2.4.29 » ou « PHP/7.4 » indique aux attaquants exactement quelles vulnérabilités connues essayer. Le nom du serveur seul est inoffensif. Dans Nginx utilisez server_tokens off; dans Apache ServerTokens Prod; dans PHP expose_php = Off supprime X-Powered-By.

