在HTTP CORS规范中,Allow-Headers和Expose-Headers之间的区别是什么?

Bog*_*Biv 19 http cors

在HTTP CORS规范中,5.6 Access-Control-Allow-Headers5.3 Access-Control-Expose-Headers之间的区别是什么?

[Allow-Headers]标头指示,作为对预检请求的响应的一部分,在实际请求期间可以使用哪些标题字段名称

UPDATE:我希望有人能告诉我这些头之一为每个请求(飞行前)发送......但是,尚未被用于另一头:5.9的访问控制请求报头

[Request-Headers]标头指示在实际请求中将使用哪些标头作为预检请求的一部分

顺便说一句,我喜欢他们(W3C)如何谨慎地说出5.9,以便请求标题可以有一个字段_Something_ Request Header.

我完全迷失在规范中,是否有一个图表,我可以更好地理解这个过程?

小智 18

访问控制允许报头

用于响应预检请求,以指示在发出实际请求时可以使用哪些HTTP标头.

访问控制展露报头

此标头允许服务器将允许浏览器访问的白名单标题列入白名单.例如:

来源:https: //developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS

  • 所以,基本上这些名字都很糟糕.前者是请求头,后者是脚本可见的响应头,对吧? (7认同)

Hop*_*ing 9

只是为了澄清上面的评论,这些评论的名字很糟糕,这些都没有错.

他们提供不同的功能.

  • Access-control-allow-headers指定允许哪些标头更改服务器的状态.
  • Access-control-expose-headers有一个get方法getResponseHeader()方法,它返回特定响应头的值.在CORS请求期间,getResponseHeader()方法只能访问简单的响应头.要能够访问其他标头,您需要在此处指定它.

  • 它们具有不同的功能,但它们的名称是如此相似。他们绝对是不好称的。 (2认同)