Aller au contenu principal

En-têtes

Les en-têtes de requêtes permettent au client de mieux négocier les échanges avec le serveur, tandis que les en-têtes de réponses fournissent des méta informations parfois précieuses au client.

devraitQu'il s'agisse de la requête du client ou de la réponse du serveur, utiliser en priorité les en-têtes déjà existants dans la norme HTTP, avant d'envisager de créer des en-têtes custom.
doitTout en-tête custom doit être préfixé par X-
doitUn en-tête n'est pas sensible à la casse, respecter cette règle pour garantir la neutralité par rapport aux technologies employées par le client : "ACCEPT" est équivalent à "accept" et "Accept", etc.

En-têtes les plus courants

En-têtes à utiliser lors d'échanges API conformément aux standards HTTP :

Requête

En-têteDescription
AcceptType de média accepté par le client pour la réponse (exemple : application/json)
Accept-LanguageLangue acceptée par le client pour la réponse (exemple : da)
AuthorizationFournit une autorisation (Basic Auth, token OAuth, HMAC, ...) éventuellement requise par l'API
Content-LengthIndique la longueur en octets du corps de la requête
Content-TypeIndique le type de média du corps de la requête
X-Powered-ByIndique le nom du produit qui propulse l'API (exemple : PHP/5.2.6-2ubuntu4.2), il est courant de ne pas définir cet en-tête pour des raisons de sécurité
X-CacheIndique si la réponse est issue d'un cache (HIT) ou non (MISS), à utiliser avec une politique de cache
X-Forwarded-ForFournit la liste des IPs des différents noeuds HTTP parcourus entre le client et le serveur, utile au serveur pour obtenir l'IP d'origine du client lorsque sa requête traverse un reverse proxy
X-HTTP-Method-OverrideIndique la véritable méthode à considérer, utilisé lorsque le client ne supporte pas la vraie méthode (et utilise généralement le fallback "POST")

Réponse

En-têteDescription
Content-DispositionIndique le nom de fichier à utiliser pour sauvegarder un téléchargement
Content-EncodingIndique l'algorithme de compression ou de chiffrement utilisé dans le contenu de la réponse
Content-LengthIndique la longueur en octets du corps de la réponse
Content-LanguageIndique la langue utilisée dans le contenu de la réponse
Content-LocationIndique l'URI d'origine de la ressource, utilisé lorsque l'URI de la ressource différe de la requête (exemple : alias)
Content-RangeIndique la part de la représentation de la ressource figurant dans le contenu, utilisé dans une gestion de liste
LocationIndique l'URI de la nouvelle ressource, utilisé lors d'une création (POST) pour fournir au client un moyen de récupérer la ressource fraichement créée