Подтвердить что ты не робот

Какие HTTP-заголовки могут быть настроены на JavaScript?

Указывает ли W3C, какие HTTP-заголовки XMLHttpRequest могут быть установлены? Если да, опубликовали ли они документ, обосновывающий эти требования по соображениям безопасности?

Возможно ли, чтобы браузер ограничивал заголовки HTTP по своему усмотрению? Если да, существует ли документ или сборник документов в Интернете, в котором перечислены причуды различных реализаций XHR или необходимо найти эту информацию в документации для каждой реализации?

4b9b3361

Ответ 1

W3C имеет эту спецификацию о заголовках, разрешенных setRequestHeader

Завершите эти шаги, если заголовок является нечувствительным к регистру совпадением для одного из следующие заголовки:

  • Accept-Charset
  • Accept-Encoding
  • Access-Control-Request-Headers
  • Access-Control-Request-Method
  • Соединение
  • Content-Length
  • Cookie
  • Cookie2
  • Content-Transfer-Encoding
  • Дата
  • Ожидать
  • Хост
  • Keep-Alive
  • Происхождение
  • Referer
  • TE
  • Прицеп
  • Передача-кодирование
  • Обновление
  • User-Agent
  • С помощью

... или если начало заголовка является нечувствительным к регистру совпадением для Proxy- или Sec- (в том числе, когда заголовок просто Proxy- или Sec -).

Указанные выше заголовки управляются пользовательским агентом, чтобы он контролировал эти аспекты транспорта. Это гарантирует целостность данных для некоторых степени. Имена заголовков, начинающиеся с Sec, не могут быть установлены в разрешить чеканить новые заголовки, гарантированные не XMLHttpRequest.

Также вы можете подумать:

Если заголовок не находится в author-request-headers, добавьте заголовок с его ассоциированным значением в список и завершите эти шаги.

О реализации браузеров я нашел этот хороший тест: https://dvcs.w3.org/hg/webapps/diff/5814514eeba4/tests/XMLHttpRequest/setrequestheader-header-forbidden.htm, который вы не можете использовать для поиска текущих различий.

Например, IE имеет это определение безопасности в заголовках:

IE: см. RFC2616, раздел 14: Определения полей заголовка для общего списка стандартных заголовков, Сервер в конечном счете несет ответственность за соблюдение заголовков запроса. На сегодняшний день наиболее распространенным заголовком запроса является Content-Type, который требуется некоторым веб-службам XML.