post 变成option 请求的三种原因

Posted objectjj

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了post 变成option 请求的三种原因相关的知识,希望对你有一定的参考价值。

  1. Http Options Method

简而言之,OPTIONS请求方法的主要用途有两个:

  • 获取服务器支持的HTTP请求方法;
  • 用来检查服务器的性能。
  1. CORS(跨域资源共享)

CORS是一种网络浏览器的技术规范,它为Web服务器定义了一种方式,允许网页从不同的域访问其资源。而这种访问是被同源策略所禁止的。CORS系统定义了一种浏览器和服务器交互的方式来确定是否允许跨域请求。

  • 前端

客户端使用XmlHttpRequest发起Ajax请求,当前绝大部分浏览器已经支持CORS方式,且主流浏览器均提供了对跨域资源共享的支持。

  • 服务器端

如果服务器端未做任何配置,则前端发起Ajax请求后,会得到CORS Access Deny,即跨域访问被拒绝。

  1. Preflighted Requests(预检请求)

Preflighted Requests是CORS中一种透明服务器验证机制。预检请求首先需要向另外一个域名的资源发送一个 HTTP OPTIONS 请求头,其目的就是为了判断实际发送的请求是否是安全的。

下面的2种情况需要进行预检:

  • 简单请求,比如使用Content-Type 为 application/xml 或 text/xml 的 POST 请求;
  • 设置自定义头,比如 X-JSON、X-MENGXIANHUI 等。



链接:https://juejin.im/post/5b14a3f76fb9a01e72512101

以上是关于post 变成option 请求的三种原因的主要内容,如果未能解决你的问题,请参考以下文章

ZF2中的CORS POST请求变成OPTIONS请求

[接口测试]POST请求提交数据的三种方式及Postman实现

axios POST提交数据的三种请求方式写法

axios POST提交数据的三种请求方式写法

HTTP POST 变成 OPTIONS AngularJS

解决 Ajax 发送 post 请求出现 403 Forbidden 的三种方式