HTTP跨域时为何要发送options请求

Posted 沿着路走到底

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP跨域时为何要发送options请求相关的知识,希望对你有一定的参考价值。

跨域请求

浏览器的同源策略

同源策略一般限制 Ajax 网络请求,不能跨域请求 Server

不会限制 <link> <img> <script> <iframe> 加载第三方资源

跨域的解决方案

jsonp

 

CORS

// CORS 配置允许跨域(服务端)
response.setHeader("Access-Control-Allow-Origin", "http://localhost:8011") // 或者 \'*\'
response.setHeader("Access-Control-Allow-Headers", "X-Requested-With")
response.setHeader("Access-Control-Allow-Methods", "PUT,POST,GET,DELETE,OPTIONS")
response.setHeader("Access-Control-Allow-Credentials", "true") // 允许跨域接收 cookie

options 请求

使用 CORS 跨域请求时,经常会看到一个“多余”的 options 请求,之后才发送了实际的请求。

以上是关于HTTP跨域时为何要发送options请求的主要内容,如果未能解决你的问题,请参考以下文章

http跨域时的options请求

当跨域时,js ajax 请求出现options请求

layui跨域问题

cors跨域之简单请求与预检请求(发送请求头带令牌token)

发送带有自定义 HTTP 标头的跨域请求时禁用预检 OPTION 请求

javascript中跨域的http post请求