在“fetch”请求中无法设置禁止的请求头 (#tilPost)

在“fetch”请求中无法设置禁止的请求头 (#tilPost)

💡 原文英文,约400词,阅读约需2分钟。
📝

内容提要

在使用fetch API或XMLHttpRequest时,某些请求头如Accept-Charset和Content-Length是禁止设置的,浏览器会忽略这些头以确保用户代理的控制权,防止安全漏洞。

🎯

关键要点

  • 在使用fetch API或XMLHttpRequest时,有些请求头是禁止设置的。

  • 禁止的请求头包括Accept-Charset、Content-Length等。

  • 以proxy-或sec-开头的请求头也是禁止的。

  • 某些解析值的请求头可能会被禁止,如X-HTTP-Method等。

  • 如果尝试设置禁止的请求头,浏览器会忽略这些请求头并可能记录警告。

  • 禁止设置这些请求头是为了确保用户代理的控制权,避免安全漏洞。

延伸问答

在fetch请求中,哪些请求头是禁止设置的?

禁止设置的请求头包括Accept-Charset、Content-Length、Cookie等。

为什么某些请求头在fetch中无法设置?

这些请求头被禁止是为了确保用户代理的控制权,避免安全漏洞。

如果尝试设置禁止的请求头,会发生什么?

浏览器会忽略这些请求头,并可能记录警告。

哪些以特定前缀开头的请求头是禁止的?

以proxy-或sec-开头的请求头是禁止的。

fetch API和XMLHttpRequest有什么共同点?

两者都无法设置某些禁止的请求头。

为什么禁止设置请求头有助于安全性?

禁止设置请求头可以防止JavaScript覆盖重要头部,从而避免安全漏洞。

➡️

继续阅读