rav*_*shi 3 nginx http-headers cors
enable-cors.org nginx 配置建议使用以下值Access-Control-Allow-Headers
和Access-Control-Expose-Headers
。但除了 之外,没有太多解释为什么推荐这些Custom headers and headers various browsers *should* be OK with but aren't
。如果我的应用程序不需要其中一些 API 请求,我宁愿不增加每个 API 请求的有效负载。
我知道我可以删除它们并等待某些东西损坏,但我希望了解一些关于为什么/如何选择它们的背景,以便我可以就它们是否对我的应用程序是必要的做出更明智的决定。即他们是否建议支持我的应用程序不需要支持的浏览器?
访问控制允许标头:DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range
访问控制公开标头:DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Content-Range,Range
对于Allow-Headers
大多数人来说,我可以理解为什么客户想要发送它们。 X-CustomHeader
但作为一个奇怪的人脱颖而出。另外,我在 Chrome 上测试过,即使User-Agent
明确允许,chrome 仍然会发送它。这意味着添加这些选项是为了实现我的应用程序可能不需要的浏览器兼容性。
对于 来说Expose-Headers
,客户端需要读取哪些标头似乎是非常特定于应用程序的。为什么客户需要阅读 User-Agent
、、DNT
或X-Requested-With
?它们包含供服务器而不是客户端使用的信息。此外,Cache-Control
和Content-Range
已经默认启用,因此它们在这里看起来是多余的。
我最终检查了每个标题并确定是否有必要。我整理了一份变更清单:
Allow
和的变化Expose
X-CustomHeader
Allow
:
Content-Range
Content-Type
Expose
:
Cache-Control
Content-Type
DNT
User-Agent
X-Requested-With
If-Modified-Since
Range
Content-Length
这给我留下了以下内容:
访问控制允许标头:DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range
访问控制公开标头:Content-Length,Content-Range
任何评论或更正将不胜感激。
归档时间: |
|
查看次数: |
2776 次 |
最近记录: |