首页 > 代码库 > 前端开发必须说的那些事之——同源策略(same origin policy)

前端开发必须说的那些事之——同源策略(same origin policy)

同源策略指的是三个相同

  • 协议相同
  • 域名相同
  • 端口相同

https://www.baidu.com/hahah.html这个网址来说 https是使用的协议,www.baidu.com是域名,端口号默认是80(不指定端口默认是80端口);

所以:

  1.      www.baidu.com/hehe.html 同源
  2.      www.baidu.com/heihei/houhou.html 同源
  3.      www.i71.com/haha.html  域名不同,不同源
  4.      www.baidu.com:888/haha.html   端口不同,不同源 

为什么需要同源策略

  同源策略其实是一种浏览器安全的功能,保护着每个网站数据的安全的同时又维持着js脚本的正常执行;假设现在哟两个网页,百度和谷歌的,两个网页都会加载各自的js脚本或者添加cookie等等,同源策略就是维持这些数据和脚本的有序访问;百度网页的脚本不能访问谷歌网页的脚本,当然各自的cookie数据也只能各家的js 脚本才能访问;

ps:    如果非同源,那么以下的行为将会受到限制;1,cookie,localStorage 2,ajax 

需要跨域取数据怎么办(多个服务器,或者二级域名)

1.利用cookie设置document.domain (解决二级域名不同)

  比如www.baidu.com和news.baidu.com这两个不同的域名,要想让两者之间的数据能够互相访问,可以将数据存储在cookie里面并指定

           document.domain="baidu.com";

 

2.1 命名锚点(www.aaa.com#tag

 

   

 

前端开发必须说的那些事之——同源策略(same origin policy)