问题描述
由于某种原因,每当我使用YUI进行异步请求并将其指定为GET或POST,并且该请求为HTTPS时,实际的请求就会通过OPTIONS请求方法来实现。
救命! 为什么这样做呢?
PS我尝试了原型,并获得了相同的交易。
1楼
我假设请求是从非安全(http)页面发出的。 (或者,如果它是从安全页面,则域可能是不同的。)
对您的安全(https)资源的请求被认为是跨源的。 为了使GET / POST成功,源和目标完全合格的域名必须完全相同 ,以符合相同的源安全策略。
OPTIONS请求本质上是HTTP握手 ,即在客户端和目标资源之间进行的预检 ,用于确定客户端是否有权从源访问目标资源。
诸如Safari和Firefox之类的现代Web浏览器都实现了W3C 跨源资源共享 草案策略,因此,当OPTIONS进行故障前通信时,您可能会看到它-可能存在某种安全性或与网络相关的JavaScript错误。 如果OPTIONS预检成功,则可能会发生原始的GET / POST。
我建议阅读以下内容:
- Nicholas Zakas