📜  HTTP 标头 |访问控制请求标头

📅  最后修改于: 2022-05-13 01:56:30.070000             🧑  作者: Mango

HTTP 标头 |访问控制请求标头

Access-Control-Request-Headers是浏览器使用的请求类型标头,其中包含有关客户端将在随后的请求中发送的不同 HTTP 标头的信息。每当客户端向服务器发起请求时,浏览器都会检查该请求是否需要 CORS 预检。如果需要 CORS 预检请求,浏览器会使用 HTTP 选项方法发送一个请求,该请求附带一堆标头,其中包含有关随后请求的某些特征的信息。这些特征之一是请求可能包含的不同标头。此信息存储在预检请求的 Access-Control-Request-Headers 标头中。

句法:

Access-Control-Request-Headers: header-name-1, header-name-2, ...

指令: Access-Control-Request-Headers 标头接受如上所述和如下所述的单个指令:

  • header-name:将附加到后续请求的标头名称的逗号分隔列表。

下面的示例说明了 http 标头中的Access-Control-Request-Headers
示例:考虑以下代码以从浏览器发送 XHR 请求。

const xhr = new XMLHttpRequest();

xhr.open('POST', 'https://samplepostroute/');
xhr.setRequestHeader('X-PINGOTHER', 'pingpong');
xhr.setRequestHeader('Content-Type',
           'application/x-www-form-urlencoded');
xhr.onreadystatechange = handler;

xhr.send("id=100"); 

该请求将包含 Content-Type 和 X-PINGOTHER HTTP 标头。在发送 POST 请求之前,浏览器会发送一个 CORS 预检请求。 CORS 预检请求将包含以下标头。以这种方式,服务器被告知可能出现在随后的客户端请求中的不同标头。

Access-Control-Request-Headers: X-PINGOTHER, Content-Type

支持的浏览器:以下浏览器与 Access-Control-Request-Headers 标头功能兼容:

  • 谷歌浏览器 4.0
  • 火狐浏览器 3.5
  • 互联网浏览器 10.0
  • 歌剧 12.0
  • 野生动物园 4.0