第一次看到这个词, 完全不知道是什么!如果你也和我一样,请继续往下看。
当采用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://developer.mozilla.org/zh-CN/docs/Web/HTTP/Methods/OPTIONS
网友评论