(CORS) 浏览器如何知道何时进行飞行前请求
Posted
技术标签:
【中文标题】(CORS) 浏览器如何知道何时进行飞行前请求【英文标题】:(CORS) How does the browser know when to do a pre-flight request 【发布时间】:2015-09-03 01:47:10 【问题描述】:所以我使用 CORS 已经有一段时间了,我只是阅读了它在幕后的工作原理。
我的问题是浏览器如何知道何时执行飞行前请求?
目前没有任何问题,因为浏览器似乎工作正常,我只是有点好奇。因为当我提出请求时,我没有给它任何关于它是否是 CORS 的信息,但它仍然知道要进行预飞行。
【问题讨论】:
【参考方案1】:如果出现以下情况,浏览器将发送预检请求:
您将自定义标头添加到您的请求中 您使用 GET、HEAD 或 POST 以外的方法 您使用带有异常 Content-Type 的 POST。更多详情:HTTP access control (CORS), Preflighted requests
【讨论】:
所以我猜这与它是否是 CORS 无关。视频中提到了这一点,但每个请求要么简单,要么不简单。简单请求是满足您上述条件的请求。非简单是不满足此要求的任何形式的请求。当浏览器发出非简单请求时,它会做出飞行前响应。这是一个浏览器功能,与 CORS 无关。不幸的是,我没有找到适当的链接来解释这一点,但如果有人正在阅读这篇文章,希望它会有所帮助! 在 Firefox 上,当附加了 xhr.upload.onprogress 监听器时也会发出预检请求。以上是关于(CORS) 浏览器如何知道何时进行飞行前请求的主要内容,如果未能解决你的问题,请参考以下文章
如果请求来自 VueJS,NodeJs Passport 执行 CORS 飞行前