首页 > 其他 > 详细

同源策略 跨域资源共享

时间:2020-08-02 18:07:29      阅读:21      评论:0      收藏:0      [点我收藏+]

标签:只需要   loading   cors   quest   函数名   jsonp   

1、出于信息安全、浏览器采用了同源策略

技术分享图片

 

 

有src属性的html标签是可以跨域访问的 

2、但是目前 前后端分离部署,前端ajax请求后端一般都是跨域的

解决方案:

一、jsonp(非官方的一种方式)------只针h对get方式的请求有效

       在请求参数中加上callback=函数名,后端相应后将返回值作为函数的入参返回到前端

二、cors(官方的跨域资源共享)

技术分享图片

 

 

简单请求直接发起请求,只需要在请求中加入Origin字段就可以,允许的话服务端返回Access-Control-Allow-Origin,否则直接报错

简单请求的要求:1、只能是HEAD  GET   POST  三者之一

                              2、请求头只能含有 Accept   Accept-Language   Content-Language  Last-Event-ID  Content-Type(application/x-www-form-urlencoded、multipart/form-data、text/plain)

复杂请求:请求之前首先发起一个options请求,在这个请求中有几个请求头:

Origin(发起请求的域)          Access-Control-Request-Method(将要发起的跨域请求方式)     Access-Control-Request-Headers(将要发起的请求中包含的请求头)

服务器响应,并返回一些请求头

Access-Control-Allow-Origin

Access-Control-Allow-Methods

Access-Control-Allow-Headers    允许哪些请求头

Access-Control-Allow-Credentials   是否允许携带cookie

Access-Control-Max-Age   询问结果的有效期,这样不需要每次都发起一个options请求

 

http://www.ruanyifeng.com/blog/2016/04/same-origin-policy.html

https://www.ruanyifeng.com/blog/2016/04/cors.html

      

同源策略 跨域资源共享

标签:只需要   loading   cors   quest   函数名   jsonp   

原文:https://www.cnblogs.com/zhaolei1996/p/13418840.html

(0)
(0)
   
举报
评论 一句话评论(0
© 2014 bubuko.com 版权所有 鲁ICP备09046678号-4
打开技术之扣,分享程序人生!
             

鲁公网安备 37021202000002号