# En-tête HTTP

> Ligne de métadonnées, sous forme « Nom: valeur », transmise en début de requête ou de réponse HTTP pour préciser le format, l'autorisation, le cache ou d'autres réglages du protocole.

- Auteur : Clément Hadrot
- Publié le : 2026-09-25
- Mis à jour le : 2026-09-25
- URL : https://wpmoderne.dev.wordpress-developpement.fr/lexique/en-tete-http/

Avant même que le contenu d'une page n'arrive, la requête et la réponse HTTP échangent une série d'instructions administratives : type de contenu attendu, langue préférée, jeton d'authentification, durée de mise en cache autorisée. Ces instructions voyagent dans les en-têtes, invisibles à l'écran mais consultables dans l'onglet « Réseau » des outils de développement du navigateur.

## Où WordPress s'en sert

WordPress envoie ou reçoit des en-têtes à de multiples endroits : `Content-Type: text/html; charset=UTF-8` sur chaque page, `X-Pingback` pour signaler l'URL de rétroliens, ou encore les en-têtes `Cache-Control` et `Expires` posés par un plugin de cache. Côté PHP, on les manipule avec `header()` ou, plus proprement dans le contexte de l'API REST, via l'objet `WP_REST_Response` et sa méthode `header()`.

## Exemple

```
GET /wp-json/wp/v2/posts HTTP/1.1
Accept: application/json
Authorization: Bearer eyJhbGciOi...
```

## Pièges fréquents

- Appeler `header()` en PHP après qu'un espace ou un caractère ait déjà été envoyé au navigateur déclenche l'avertissement « headers already sent », un classique du dépannage WordPress.
- Confondre en-tête de requête (envoyé par le client) et en-tête de réponse (renvoyé par le serveur) : `Accept` est un en-tête de requête, `Content-Type` de la réponse en est le miroir.
- Négliger l'en-tête `Cache-Control` sur les ressources statiques (images, CSS), ce qui prive un site de gains de performance faciles à obtenir.
- Certains en-têtes de sécurité (`Content-Security-Policy`, `X-Frame-Options`) doivent être réglés avec soin : trop restrictifs, ils peuvent casser silencieusement un script ou un widget tiers légitime.
