Nome de cabeçalho proibido

Um nome de cabeçalho proibido é o nome de qualquer cabeçalho HTTP que não pode ser modificado programaticamente; especificamente, um nome de cabeçalho de solicitação HTTP (em contraste com um Forbidden response header name).

Modificar esses cabeçalhos é proibido porque o agente do usuário retém o controle total sobre eles. Nomes começando com Sec- são reservados para criar novos cabeçalhos seguros de APIs usando Fetch que concedem aos desenvolvedores controle sobre cabeçalhos, como XMLHttpRequest.

Nomes de cabeçalho proibidos começam com Proxy-ou Sec-, ou são um dos seguintes nomes:

  • 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

Nota: O cabeçalho User-Agent não é mais proibido, de acordo com a especificação - consulte a lista de nomes de cabeçalhos proibidos (isso foi implementado no Firefox 43) - agora ele pode ser definido em um objeto e busca de Headers (en-US), ou via XHR setRequestHeader().