为什么需要Access-Control-Expose-Headers?
我正在寻找具体的安全原因,为什么join。 这是一个WTH的时刻,当我正在实施cors,并可以看到所有的标题被返回,但我不能通过JavaScript访问它们..
CORS是以这样一种方式实现的,它不会破坏在CORS前,同源世界中做出的假设。
在CORS之前的世界里,客户端可能会触发一个交叉源请求(例如,通过脚本标签),但是它不能读取响应头。
为了确保CORS不会破坏这个假设,CORS规范要求服务器为客户端提供明确的权限(通过Access-Control-Expose-Headers
头)读取这些头文件。 这样,未经授权的CORS请求就像在CORS之前的世界中一样。
这是一个很好的问题。 看看http://www.w3.org/TR/cors/#simple-response-header ,这不是很明显,为什么你想要或需要这样做。
CORS规范强调了这样一个想法:你必须有一个预先请求的握手,客户端请求一种连接types,服务器响应它允许它 – 所以这可能只是另一个方面。
默认情况下,内容长度不是允许的头部,所以我遇到了同样的问题(稍后当我需要访问WebDAV,必须修改允许的参数)。CORS真的没有什么意义(对我来说),所以如果它是反复无常的,那么我也不会感到惊讶。
- 那么,JSONP还是CORS?
- 什么是完整性和crossorigin属性?
- Access-Control-Allow-Origin头文件如何工作?
- 如何跳过AngularJS中的OPTIONS预检请求
- X-Requested-With头是什么意思?
- xmlHttp.getResponseHeader +不适用于CORS
- Access-Control-Allow-Credentials头做了什么?
- XmlHttpRequest错误:Access-Control-Allow-Origin不允许源null
- chrome中的错误:Content-Type不被Access-Control-Allow-Headers所允许