一个没有自定义标头的简单 GET 请求。响应按预期返回。正文中的数据可以访问,但标头不能。
当我尝试访问“etag”标头时,浏览器会引发异常:
拒绝获取不安全的标头 “etag”
Chrome、Safari 和 Firefox 都表现相同。我没有在 IE 上测试过。
我错过了什么?
一个没有自定义标头的简单 GET 请求。响应按预期返回。正文中的数据可以访问,但标头不能。
当我尝试访问“etag”标头时,浏览器会引发异常:
拒绝获取不安全的标头 “etag”
Chrome、Safari 和 Firefox 都表现相同。我没有在 IE 上测试过。
我错过了什么?
当使用CORS时,只有简单的响应头会被暴露出来。这里定义了简单的响应头:点击这里。ETag
不是一个简单的响应头。如果要暴露非简单的响应头,则需要设置Access-Control-Expose-Headers
头,像这样:
Access-Control-Expose-Headers: ETag
请注意,我注意到Chrome、Safari和Firefox存在错误,防止非简单标题正确地显示。这个问题现在可能已经得到修复,但我不确定。
你不需要进行预检请求,因为预检只针对非GET/POST HTTP方法或非简单的请求头部(而你正在询问响应头部)。