我试图在我的服务中实现正确的CORS逻辑。从查看所有可用的文档,我不清楚,在跨源OPTIONS请求的情况下,客户端是否会发送(1)飞行前的OPTIONS请求,如果预先允许的话 - 飞行反应,(2)a"常规" (非飞行前)OPTIONS请求。
换句话说,在我的服务器中,当我收到飞行前的OPTIONS请求时,我是否应该同时执行CORS逻辑和正常的OPTIONS请求处理逻辑,填充正常的OPTIONS响应头以及Access-Control- *响应头?
或者我应该为飞行前请求执行CORS逻辑,并且如果允许来自原点的OPTIONS方法,则期望后续OPTIONS请求?
[指向权威参考的额外信用]
答案 0 :(得分:3)
对于OPTIONS请求,您将收到预检OPTIONS请求,后跟实际的OPTIONS请求。可以识别预检OPTIONS请求,因为它将具有:1)OPTIONS HTTP方法,2)Origin头,以及3)Access-Control-Request-Method头。实际的OPTIONS请求将只有:1)OPTIONS HTTP方法,以及2)Origin头。实际的OPTIONS请求将没有Access-Control-Request-Method标头。