Analyseur d'en-têtes HTTP
Les en-têtes HTTP transportent les métadonnées des requêtes et réponses. Cet outil analyse les messages HTTP complets incluant la ligne de requête/statut, les en-têtes et le contenu du corps. Il analyse les en-têtes de sécurité (HSTS, CSP), l'authentification (Basic, Bearer), les cookies, la configuration CORS et les directives de cache. Le contenu du corps est automatiquement formaté et coloré syntaxiquement selon le Content-Type (JSON, HTML, XML).
Specifications
Cas d'utilisation courants
- Déboguer les requêtes API copiées depuis l'onglet Réseau des DevTools du navigateur
- Analyser la sortie de curl -i ou curl -v avec en-têtes et corps
- Auditer les en-têtes de sécurité pour la conformité (recommandations OWASP)
- Dépanner les problèmes de preflight et cross-origin CORS
- Inspecter les en-têtes d'authentification et la configuration des cookies
- Vérifier le comportement du cache pour le CDN et la mise en cache navigateur
Fonctionnalites
- Analyser les requêtes HTTP complètes (GET /path HTTP/1.1)
- Analyser les réponses HTTP avec codes de statut et phrases de raison
- Formater et colorer syntaxiquement le contenu du corps (JSON, HTML, XML, CSS)
- Décoder les en-têtes Authorization (identifiants Basic auth, jetons Bearer)
- Analyser les en-têtes de sécurité (HSTS, CSP, X-Frame-Options, X-Content-Type-Options)
- Analyser les attributs Set-Cookie (Secure, HttpOnly, SameSite, expiration)
- Extraction et liste des cookies depuis les en-têtes
- Afficher les en-têtes CORS (Access-Control-Allow-Origin, etc.)
- Expliquer les directives Cache-Control (max-age, no-cache, private)
Exemples
Réponse API avec corps JSON
Essayer →Une réponse HTTP complète avec en-têtes et corps JSON, comme vous pourriez copier depuis la sortie de curl -i.
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Cache-Control: max-age=3600, public
X-Frame-Options: DENY
Strict-Transport-Security: max-age=31536000; includeSubDomains
{
"status": "success",
"data": {
"id": 12345,
"name": "Example User"
}
}Requête HTTP avec authentification
Essayer →Une requête avec authentification par jeton Bearer et cookies.
GET /api/users HTTP/1.1
Host: api.example.com
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Accept: application/json
Cookie: session=abc123; theme=darkConseils
- Utilisez "curl -i URL" pour inclure les en-têtes de réponse dans la sortie.
- Dans les DevTools du navigateur, clic droit sur une requête et "Copier en tant que cURL" pour obtenir la requête complète.
- HSTS (Strict-Transport-Security) indique aux navigateurs de n'utiliser que HTTPS pour le domaine.
- CSP (Content-Security-Policy) contrôle quelles ressources la page peut charger.
- L'attribut de cookie SameSite aide à prévenir les attaques CSRF.
Comprendre Analyseur d'en-têtes HTTP
Les en-têtes HTTP sont des paires clé-valeur envoyées entre le client et le serveur dans chaque requête et réponse HTTP. Ils transportent les métadonnées du message : type de contenu, directives de cache, identifiants d'authentification et politiques de sécurité. Les en-têtes apparaissent après la ligne de requête ou de statut et avant le corps optionnel, séparés du corps par une ligne vide.
Les en-têtes de requête fournissent le contexte sur le client et la réponse souhaitée. Host identifie le serveur cible. Accept et Content-Type négocient le format média. Authorization transporte les identifiants (Basic, Bearer, clés API). Cookie envoie les données de session stockées. User-Agent identifie le logiciel client.
Les en-têtes de réponse contrôlent comment le client gère le contenu. Cache-Control et ETag gouvernent le comportement de mise en cache. Set-Cookie établit l'état côté client. Content-Security-Policy restreint le chargement de ressources pour atténuer les attaques XSS. Strict-Transport-Security force l'utilisation de HTTPS. Les en-têtes CORS (Access-Control-Allow-Origin et associés) contrôlent le partage de ressources cross-origin, l'un des aspects les plus fréquemment mal configurés des API web.
Comprendre les en-têtes est essentiel pour déboguer les applications web. Quand une API retourne des résultats inattendus, les en-têtes révèlent souvent la cause : un Content-Type manquant, un jeton d'authentification expiré, une directive de cache servant des données obsolètes ou une politique CORS bloquant la requête.
La directive Cache-Control est l'un des en-têtes les plus mal compris. La directive no-cache ne signifie pas "ne pas mettre en cache" — elle signifie que le cache doit revalider avec le serveur d'origine avant d'utiliser une réponse stockée. La réponse peut toujours être mise en cache. La directive no-store est ce qui empêche réellement toute mise en cache et doit être utilisée pour les données sensibles. Pour le contenu qui change fréquemment et bénéficie de requêtes conditionnelles, no-cache combiné avec ETag ou Last-Modified est la stratégie appropriée.
Les erreurs CORS surviennent quand une requête navigateur vers une origine différente ne dispose pas de l'en-tête de réponse Access-Control-Allow-Origin. Le serveur doit inclure cet en-tête avec soit l'origine demandeuse soit * pour les API publiques. Quand des identifiants (cookies ou en-têtes Authorization) sont impliqués, le joker n'est pas autorisé — l'en-tête doit spécifier l'origine exacte. Les requêtes preflight OPTIONS nécessitent en plus Access-Control-Allow-Methods et Access-Control-Allow-Headers. L'authentification par jeton Bearer utilise le format Authorization: Bearer <jeton>, où le jeton est généralement un JWT ou un jeton d'accès opaque provenant d'un flux OAuth 2.0. Contrairement aux cookies, les jetons Bearer ne sont pas envoyés automatiquement — le client doit explicitement attacher l'en-tête à chaque requête.
Chaque site web devrait définir un ensemble minimum d'en-têtes de sécurité. Strict-Transport-Security (HSTS) garantit que HTTPS est toujours utilisé. Content-Security-Policy atténue les attaques XSS en restreignant le chargement de ressources. X-Content-Type-Options: nosniff empêche le reniflage de type MIME. X-Frame-Options protège contre le clickjacking, et Referrer-Policy contrôle quelles informations sont envoyées dans l'en-tête Referer. Les API doivent en plus configurer les en-têtes CORS appropriés pour contrôler quelles origines peuvent faire des requêtes.