Inspecteur d'en-têtes HTTP
Inspectez les en-têtes HTTP pour toute URL.
Qu'est-ce que les en-têtes HTTP ?
Les en-têtes HTTP sont des métadonnées échangées entre client (navigateur) et serveur lors de chaque requête et réponse HTTP. Ils contrôlent le cache, la sécurité (CORS, CSP, HSTS), la négociation de contenu, l'authentification, la compression et bien plus. Comprendre les en-têtes est essentiel pour les développeurs web et les administrateurs.
Cet outil inspecte les en-têtes HTTP renvoyés par n'importe quel site web et fournit des explications détaillées sur leur signification, leur impact sur la sécurité, et les bonnes pratiques. Utile pour auditer son propre site ou analyser celui d'un concurrent.
En-têtes de sécurité importants
- Strict-Transport-Security (HSTS) — force les navigateurs à utiliser HTTPS pour toutes les connexions futures.
- Content-Security-Policy (CSP) — contrôle les ressources que la page peut charger, ce qui prévient les attaques XSS.
- X-Content-Type-Options — empêche les navigateurs de deviner les types de contenu, ce qui bloque certaines attaques.
- X-Frame-Options — empêche votre page d'être intégrée dans des iframes sur d'autres sites (protection contre le clickjacking).
- Referrer-Policy — contrôle la quantité d'informations de référent envoyées lorsque l'on quitte votre site.
Comment utiliser cet outil
Saisissez une URL et l'outil interroge le serveur, puis affiche tous les en-têtes de réponse classés par catégorie (cache, sécurité, contenu, etc.). Chaque en-tête est expliqué et accompagné de recommandations si sa configuration peut être améliorée.
Les en-têtes de cache expliqués
Les en-têtes Cache-Control déterminent si et combien de temps les navigateurs et les CDN stockent les réponses. Les directives courantes incluent max-age (secondes de cache), no-cache (revalider avant d'utiliser la copie en cache), no-store (ne jamais mettre en cache) et public/private (si des caches partagés comme les CDN peuvent la stocker). Une bonne mise en cache améliore considérablement la vitesse de chargement des pages et réduit la charge serveur.
Exemple concret
Lancez l'outil sur https://example.com et il renvoie une réponse HEAD. Un résultat typique affiche content-type: text/html; charset=utf-8, cache-control: max-age=3600 et une ligne strict-transport-security. Le panneau d'état indique 200 à côté du nombre d'en-têtes et du temps de réponse. Si strict-transport-security manque dans la liste de sécurité, le site n'impose pas le HTTPS au niveau du navigateur — un défaut corrigible en une seule ligne côté serveur.
Erreurs courantes
La plus grande surprise est un résultat vide alors que le site s'affiche sans problème dans un navigateur. C'est presque toujours dû au CORS : une requête d'origine croisée ne peut lire que les en-têtes exposés par le serveur via Access-Control-Allow-Origin, si bien que la plupart des sites tiers renvoient une réponse opaque. Autre erreur : croire qu'un x-frame-options absent est sans danger — sans lui, ou sans directive CSP frame-ancestors, la page peut être intégrée dans un cadre de clickjacking.
Questions fréquentes
Comment voir les en-têtes de mon site ?
Ouvrez les outils développeur de votre navigateur (F12), onglet Réseau, rechargez la page, cliquez sur n'importe quelle requête, puis consultez Headers. Ou utilisez curl en ligne de commande : curl -I https://example.com.
Quels en-têtes envoyer pour CORS ?
Pour autoriser un autre domaine à accéder à votre API : Access-Control-Allow-Origin: https://example.com (jamais * en production avec credentials), Access-Control-Allow-Methods, Access-Control-Allow-Headers. Configurez aussi les requêtes preflight (OPTIONS).
Pourquoi ne puis-je pas voir tous les en-têtes ?
Les navigateurs masquent la plupart des en-têtes de réponse lors des requêtes d'origine croisée, sauf si le serveur l'autorise via CORS. Des outils côté serveur comme curl -I ou le tableau de bord de votre hébergeur affichent l'ensemble complet. Cet outil reflète exactement ce que le JavaScript côté client est autorisé à lire.