本文介绍: 在实际请求之前,浏览器服务器发送一个预检请求,询问服务器是否允许跨域请求以及允许哪些HTTP方法头部字段等。当发送跨域的POST请求时,浏览器会先发送一次OPTIONS请求,这是因为浏览器同源策略需要注意的是,简单请求(GET/wwwformurlencodedmultipart/formdatatext/plain)不会触发预检请求,浏览器会直接发送实际请求。如果服务器允许当前请求的跨域访问,那么浏览器才会发起实际的POST请求。否则,浏览器将阻止请求,并在控制台报告错误

当发送跨域的POST请求时,浏览器会先发送一次OPTIONS请求,这是因为浏览器同源策略。OPTIONS请求被称为预检请求(pre-flight request),它是CORS(跨源资源共享)机制中的一部分

预检请求的目的是为了确保实际请求(例如POST、PUT等)对目标服务器是安全的。在实际请求之前,浏览器服务器发送一个预检请求,询问服务是否允许跨域请求以及允许哪些HTTP方法头部字段等。服务通过响应信息告诉浏览器它支持哪些方法头部字段

OPTIONS请求会包含以下头部信息

服务需要在响应头中返回一些CORS相关信息例如

如果服务器允许当前请求的跨域访问,那么浏览器才会发起实际的POST请求。否则,浏览器将阻止请求,并在控制台报告错误
需要注意的是,简单请求(GET/wwwformurlencodedmultipart/formdatatext/plain)不会触发预检请求,浏览器会直接发送实际请求。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注