前端跨域的几种方式

  在实际开发中,前端和后端之所以存在跨域的问题,主要是受到了 “同源策略”的限制,“同源”一般是指: 协议、域名(主域名以及子域名)和端口号三者相同,三者中的任何一个不相同都算作是跨域,不同域之间的相互请求资源就算作是跨域,这样都是会被限制的;之所以设置同源策略的限制主要是为了避免浏览器受到xss、CSFR等的攻击;同源策略限制的内容有: Cookie、LocalStorage、IndexdDB等存储数据,Dom节点,AJAX请求发送后,被浏览器的拦截;但是,img标签中的src、link中的href以及script中的src是允许跨域加载资源的;

  需要注意的是,如果是协议和端口造成的跨域问题,前端是无能为力的,只能通过服务器的配置来解决;其次,在跨域问题上,仅仅是通过“url的首部”来识别而不会根据域名对应的IP地址来判断,也就是根据域名,协议,端口来判断; 

  跨域并不是请求发布出去,请求是能发出去的,服务器是能够收到请求并且正常的返回结果的,只是结果被浏览器给拦截了;

  

跨域的解决方案

  1、jsonp原理

    利用script标签没有跨域限制的漏洞,网页可以得到从其他源动态产生的json数据。 JSONP请求一定需要对方的服务器做支持才可以;

猜你喜欢

转载自www.cnblogs.com/mufc/p/10382581.html
今日推荐