【发布时间】:2016-02-17 18:30:54
【问题描述】:
假设有一个 CORS 预检请求进入,但它为一个或多个 Access-Control-Request-* 标头指定了不受支持的值。服务器应该如何将此信息传回给浏览器?
一些例子:
- 浏览器使用
Access-Control-Request-Method: PUT发送预检请求,但服务器不允许对指定资源的 PUT 请求。 - 浏览器使用
Access-Control-Request-Headers: X-PINGOTHER发送预检请求,但服务器不允许/理解该标头。
我能找到的唯一线索位于W3C documentation,这表明如果预检响应出现问题,服务器应该“终止此请求”,但我不确定实际情况如何(服务器真的应该终止连接而不发回响应吗??)。
或者,服务器是否根本不需要验证,因为浏览器只需检查 Access-Control-Allow-* 响应标头就知道它做错了什么?
【问题讨论】: