如何在 CORS RequestBuilder 响应中检测 "Access-Control-Allow-Headers"
How to detect "Access-Control-Allow-Headers" within CORS RequestBuilder response
我熟悉 CORS 和 Access-Control-Allow-* headers.
我正在发出一个 CORS XHR 请求,该请求具有一个新的地理位置 header,之前未在 OPTIONS 响应中指定 Access-Control-Allow-Headers header.
当我将我的客户端附加到一个新的服务实例时,OPTIONS 和 POST 请求有效。
当我将客户端连接到较旧的服务实例时,OPTIONS 响应的代码为 200,但 POST 因 Chrome 代码 0 和
而失败
Request header field Geoposition is not allowed by
Access-Control-Allow-Headers.
如何检查 OPTIONS 响应 header(在 onResponseRecieved 内?)以便我可以 omit/remove 违规的地理位置 header 并重新提交请求?
CORS 服务器发送 Access-Control-Allow-Headers
header 以响应 OPTIONS
预检调用。如果它不允许给定的 header,浏览器甚至在请求发送之前就失败了(因此状态代码为 0),并向您报告。
您无法控制预检调用 - 您无法创建调用、设置调用或处理结果。这完全由浏览器管理,作为与服务器的对话,以查看是否允许此客户端 'bend the rules'。您无权访问它,这是一件好事,它使 CORS 可用而不会使网站暴露于各种 XSRF 攻击。
因此,既然您无法检查 header,我们还能从浏览器中找出什么是合法的或不合法的吗?为什么不是错误信息?
Request header field Geoposition is not allowed by Access-Control-Allow-Headers.
我不确定是否有比这更好的方法,我也不确定是否应该有。如果您被允许与远程端点协作并请求更改,请考虑让他们允许一个端点检查支持哪些 header,或者 re-send 这个 header 其他请求(这不是预检)这样你就知道你的限制是什么。
参考文献:
我熟悉 CORS 和 Access-Control-Allow-* headers.
我正在发出一个 CORS XHR 请求,该请求具有一个新的地理位置 header,之前未在 OPTIONS 响应中指定 Access-Control-Allow-Headers header.
当我将我的客户端附加到一个新的服务实例时,OPTIONS 和 POST 请求有效。
当我将客户端连接到较旧的服务实例时,OPTIONS 响应的代码为 200,但 POST 因 Chrome 代码 0 和
而失败Request header field Geoposition is not allowed by Access-Control-Allow-Headers.
如何检查 OPTIONS 响应 header(在 onResponseRecieved 内?)以便我可以 omit/remove 违规的地理位置 header 并重新提交请求?
CORS 服务器发送 Access-Control-Allow-Headers
header 以响应 OPTIONS
预检调用。如果它不允许给定的 header,浏览器甚至在请求发送之前就失败了(因此状态代码为 0),并向您报告。
您无法控制预检调用 - 您无法创建调用、设置调用或处理结果。这完全由浏览器管理,作为与服务器的对话,以查看是否允许此客户端 'bend the rules'。您无权访问它,这是一件好事,它使 CORS 可用而不会使网站暴露于各种 XSRF 攻击。
因此,既然您无法检查 header,我们还能从浏览器中找出什么是合法的或不合法的吗?为什么不是错误信息?
Request header field Geoposition is not allowed by Access-Control-Allow-Headers.
我不确定是否有比这更好的方法,我也不确定是否应该有。如果您被允许与远程端点协作并请求更改,请考虑让他们允许一个端点检查支持哪些 header,或者 re-send 这个 header 其他请求(这不是预检)这样你就知道你的限制是什么。
参考文献: