Nom d'en-tête interdit

Un nom d'en-tête interdit est un nom d'en-tête HTTP qui ne peut être modifié par programmation, spécifiquement, un nom d'en-tête de requête HTTP (contraste avec Nom d'en-tête de réponse interdit).

Les modifications de ces en-têtes sont interdites pour que l'agent utilisateur garde un total contrôle sur eux. Les noms commençant par Sec- sont réservés à la création de nouveaux en-têtes à l'abri des API utilisant Fetch qui accordent aux développeurs le contrôle des en-têtes, tels que XMLHttpRequest.

Les noms d'en-tête interdits commencent avec Proxy- ou Sec-, ou se composent de l'un d'eux :

  • Accept-Charset
  • Accept-Encoding
  • Access-Control-Request-Headers
  • Access-Control-Request-Method
  • Connection
  • Content-Length
  • Cookie
  • Cookie2
  • Date
  • DNT
  • Expect
  • Host
  • Keep-Alive
  • Origin
  • Proxy-
  • Sec-
  • Referer
  • TE
  • Trailer
  • Transfer-Encoding
  • Upgrade
  • Via

Note : L'en-tête User-Agent n'est plus interdit, conformément à la spécification — voir la liste des noms d'en-tête interdit (implémentée dans Firefox 43), et peut donc maintenant être défini dans un objet en-tête Fetch, via XHR setRequestHeader(), etc.