如何处理无效的CORS飞行前请求?

如何处理无效的CORS飞行前请求?,cors,preflight,Cors,Preflight,假设一个CORS飞行前请求进入,但它为一个或多个访问控制请求-*头指定了一个不受支持的值。服务器应如何将此信息传回浏览器 一些例子: 浏览器使用访问控制请求方法PUT发送飞行前请求,但服务器不允许对指定资源进行PUT请求 浏览器发送带有访问控制请求标题的飞行前请求:X-PINGOTHER,但服务器不允许/理解该标题 我能找到的唯一线索是位于中,这表明如果预引导响应出现问题,服务器应该“终止此请求”,但我不确定这在实践中是什么样子(服务器是否真的应该在不返回响应的情况下终止连接??) 或者,服

假设一个CORS飞行前请求进入,但它为一个或多个
访问控制请求-*
头指定了一个不受支持的值。服务器应如何将此信息传回浏览器

一些例子:

  • 浏览器使用访问控制请求方法PUT发送飞行前请求,但服务器不允许对指定资源进行PUT请求
  • 浏览器发送带有
    访问控制请求标题的飞行前请求:X-PINGOTHER
    ,但服务器不允许/理解该标题
我能找到的唯一线索是位于中,这表明如果预引导响应出现问题,服务器应该“终止此请求”,但我不确定这在实践中是什么样子(服务器是否真的应该在不返回响应的情况下终止连接??)

或者,服务器根本不需要进行验证,因为浏览器只需检查
Access Control Allow-*
response头就可以知道它做错了?

收到无效的CORS飞行前请求时,返回403响应:

若请求无效或不允许,则请求将被拒绝,HTTP状态代码403(禁止)。可以使用演示此筛选器处理请求的

诚然,文档没有解释它为什么这样做,但至少它是一个起点