跨域

当你的协议、域名、端口三者任一与当前url不一致的时候,就会出现跨域问题(浏览器的同源策略)

1.Jsonp

主要利用scrpt不用同源策略的影响,但是只支持get请求(目前非主流)

2.CORS(主要依赖于后端)

分为简单请求和非简单请求

简单请求

1.请求方式为GET、POST、HEAD;

2.Content-Type为application/x-www-form-urlencodedmultipart/form-datatext/plain

3.HTTP的头信息不超出以下几种字段:

Accept

Accept-Language

Content-Language

Last-Event-ID

后端会判断请求头的Origin(源)是否在Access-Control-Allow-Origin里,是否存在白名单;存在即通过;

 

非简单请求(常见的application/json请求为非简单请求)

1.预检请求

判断请求方法、请求头、域名是否在Access-Control-Allow-Origin里

通过才发送正常请求

2.正常请求 (后端判断逻辑跟简单请求一样)

 

3.Nginx(前端自己就可以解决)

posted on 2024-05-14 13:39  sss大辉  阅读(2)  评论(0编辑  收藏  举报

导航