当前位置:   article > 正文

CORS跨域资源共享_cros 跨域资源共享(在后端实现),通过过滤器添加access-control-allow-ori

cros 跨域资源共享(在后端实现),通过过滤器添加access-control-allow-origin标志&

后端来设置一个响应头  access-control-allow-origin: 'http://www.xxx.com'

                        浏览器先发出请求到服务器  返回的过程中 判断是否是同源的   

                        如果不是同源的会去看响应报文的响应头是否有 access-control-allow-origin: * / 当前页面的域名

                        w3c标准里面提出的


 

                         浏览器将 CORS 请求分成两类:简单请求和非简单请求,只要同时满足下面两个条件就属于简单请求 

                        ( 1 ) 请求的方法只能是 HEAD,GET,POST 

                        ( 2 ) HTTP 的头信息不超出以下几种字段

                            Accept

                            Accept-Language

                            Content-Language

                            Last-Event-ID

                            Content-Type:只限于三个值 application/x-www-form-urlencoded、multipart/form-data、text/plain

                            只要不满足以上两个条件就属于非简单请求,浏览器对于非简单请求会进行一次预检.

 

                        对于简单请求 只需要设置 Allow-Control-Access-Origin相应头就可以

                    非简单请求

                        预检请求

                        非简单请求指的是对服务器有特殊要求,比如请求方法为 PUT 或 DELETE,或者 Content-Type 字段的类型是 application/json。

                        非简单请求的 CORS 请求会在通信之前,增减一次 HTTP 查询的请求,成为 “预检”。

                        浏览器会先询问服务器,当前网页所在的域名是否在服务器许可的名单之中,

                        以及可以使用哪些 HTTP 请求和头部字段。如果通过服务器的校验,才会发起正式的 XMLHttpRequest 请求,否则就报错


 

                    非简单请求的响应头里面必须含有以下字段:

 

                        Allow-Control-Access-Origin 必需,表示可以请求的源。

                        Access-Control-Allow-Methods 必需,表示支持的所有方法,以逗号分隔

                        Access-Control-Allow-Headers 如果浏览器请求包括 Access-Control-Req方法,以逗号分隔

                        Access-Control-Allow-Headers 如果浏览器请求包括 Access-Control-Request-Headers 字段,则 Access-Control-Allow-Headers 字段是必需的。它也是一个逗号分隔的字符串,表明服务器支持的所有头信息字段。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/691149
推荐阅读
相关标签
  

闽ICP备14008679号