服务器明确表明允许,则校验成功,否则校验失败
CORS请求分为两类:
-
简单请求
- 请求方法为GET、HEAD、POST
- 头部字段满足CORS安全规范
- 请求头的Content-Type为text/plain、multipart/form-data、application/x-www-form-urlencoded
使Access-Control-Allow-Origin中包含Origin的源,使服务器允许通过检验
- 预检请求
1 .发送预检请求
发送预检请求是指浏览器在发起某些跨域请求之前,会先发送一个OPTIONS请求,询问服务器对跨域请求的支持情况。这个OPTIONS请求就是预检请求。
预检请求是一种用于检查服务器是否允许特定跨域请求的机制。它包含了对实际请求(如GET、POST等)的预检查,以确保实际请求不会对服务器产生不安全或未经授权的访问。
预检请求并不会执行实际的业务逻辑,而只是进行服务器的检查和确认。
- 发送真实请求
执行简单请求过程
使Access-Control-Allow-Origin中包含Origin的源,使服务器允许通过检验
设置Access-Control-Allow-Methods的请求方法和Access-Control-Headers的请求头参数,进行服务器验证通过
Access-Control-Max-Age字段的值表示预检请求结果的缓存时间。在这段时间内,浏览器可以重用之前的预检请求结果,而不需要再次发送预检请求。这可以减少与服务器的通信次数,提高性能。