Запрещённое имя заголовка
Запрещённое имя заголовка (Forbidden header name) – это имя какого-либо HTTP заголовка, который нельзя изменить программно.
Изменение этих заголовков запрещено, потому что пользовательский агент (браузер) удерживает полный контроль над ними. Заголовки, чьи имена начинаются с Sec-
, зарезервированы для создания новых заголовков, безопасных (отделённых) от APIs, используемого Fetch, которое даёт разработчику контроль над заголовками. Утверждение также верно и для XMLHttpRequest
.
Запрещённые имена заголовков начинаются с Proxy-
или Sec-
, или содержат следующие имена:
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
Примечание:
Заголовок User-Agent
более не запрещён, как указано в спецификации — посмотрите список запрещённых заголовков (он был реализован в Firefox 43,) так что User-Agent
может быть установлен через в объект Headers под Fetch через вызов метода setRequestHeader().