美文网首页
options预检请求

options预检请求

作者: 梦行乌托邦 | 来源:发表于2020-06-24 11:01 被阅读0次

第一次看到这个词, 完全不知道是什么!如果你也和我一样,请继续往下看。
当采用CORS(跨域资源共享)来解决跨域问题时,需要前后端配合。在发送CORS请求时,如果是简单请求(具体解释看后面)则直接发送,否则浏览器检测到跨域请求,会自动发出一个 options请求来检测本次请求是否被服务器接受。服务端收到该预检请求后,接受则会返回与CORS相关的响应头,不接受则会没响应,后续的浏览器请求无法发出。服务端通过后,浏览器会发送正式的数据请求。这样,总共发送了两次请求,一个是预检请求,一个是正式数据请求。这些都可以在浏览器的网络请求中看到。

简单请求(满足以下所有条件):

  • 请求方法是GET、POST、HEAD中的其中一个
  • 必须是下面定义对CORS安全的首部字段集合,不能是集合之外的其他首部字段。(Accept、Accept-Language、Content-Language、Content-Type、DPR、Downlink、Save-Data、Viewport、Width、Width
  • Content-Type的值必须是 text/plain、multipart/from-data、application/x-www-form-urlencoded中的任意一个

参考资料

https://www.cnblogs.com/wonyun/p/CORS_preflight.html

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Methods/OPTIONS

相关文章

  • options预检请求

    第一次看到这个词, 完全不知道是什么!如果你也和我一样,请继续往下看。当采用CORS(跨域资源共享)来解决跨域问题...

  • options预检请求

    起因  最近写项目的时候,发现前端中的请求发送了两遍,同时也看到了options请求。 前置知识 HTTP常见的请...

  • 关于浏览器预检(OPTIONS)请求

    浏览器在什么情况下会发起options预检请求? 在非简单请求且跨域的情况下,浏览器会发起options预检请求。...

  • 简单请求和非简单请求2

    简单请求和非简单请求2 1、OPTIONS预检命令操作 (1)后端服务增加预检命令缓存 如果每个postJson请...

  • Javascript基础知识5点(2019.1.29)

    1、什么是 options 请求?在正式跨域之前,浏览器会根据需要发起一次预检请求(即 options 请求),用...

  • CORS 比较详细的说明

    一个CORS请求的流程 发送一个预检请求都为Options请求,因为Options请求不会对服务器做出任何改动。且...

  • 为什么会有OPTIONS请求

    Options 请求,我所了解的就是在发起跨域的非简单请求时,会先发起一个 options 预检请求(浏览器是自动...

  • options

    复杂请求在发送真正的请求前会提前发送一次Options请求(嗅探、预检请求),XHR会根据返回的Access-Co...

  • options预请求

    最近开发过程中,为了避免跨域,于是在服务端添加了Access-Control-Allow-Origin,前端出现一...

  • axios发送俩次请求的原因

    其实跨域分为简单跨域请求和复杂跨域请求 简单跨域请求是不会发送options请求的 复杂跨域请求会发送一个预检请求...

网友评论

      本文标题:options预检请求

      本文链接:https://www.haomeiwen.com/subject/trnhfktx.html