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