标签:pos log tps article multi 思想 类型 tail 了解对方
CORS背后的基本思想是使用自定义的HTTP头部允许浏览器和服务器相互了解对方,从而决定请求或响应成功与否。
跨域资源共享标准新增了一组 HTTP 首部字段,允许服务器声明哪些源站通过浏览器有权限访问哪些资源。另外,规范要求,对那些可能对服务器数据产生副作用的 HTTP 请求方法(特别是 GET 以外的 HTTP 请求,或者搭配某些 MIME 类型的 POST 请求),浏览器必须首先使用 OPTIONS 方法发起一个预检请求(preflight request),从而获知服务端是否允许该跨域请求。服务器确认允许之后,才发起实际的 HTTP 请求。在预检请求的返回中,服务器端也可以通知客户端,是否需要携带身份凭证(包括 Cookies和 HTTP 认证相关数据)。
CORS请求失败会产生错误,但是为了安全,在JavaScript代码层面是无法获知到底具体是哪里出了问题。你只能查看浏览器的控制台以得知具体是哪里出现了错误。
服务器对于跨域请求的处理流程如下:
首先查看http头部有无origin字段;如果没有,或者不允许,当成普通请求;
如果有且是允许的,再看是否是preflight(method=OPTIONS);
如果不是preflight(简单请求),返回Allow-Origin,Allow-Credential等字段,并返回正常内容;
如果是preflight(非简单请求),返回Allow-Headers,Allow-Methods等;
参考链接:
https://blog.csdn.net/lishanleilixin/article/details/79931298
标签:pos log tps article multi 思想 类型 tail 了解对方
原文地址:https://www.cnblogs.com/BleachCurtain/p/10760934.html