首页 > 代码库 > 前端开发必须说的那些事之——同源策略(same origin policy)
前端开发必须说的那些事之——同源策略(same origin policy)
同源策略指的是三个相同
- 协议相同
- 域名相同
- 端口相同
如https://www.baidu.com/hahah.html这个网址来说 https是使用的协议,www.baidu.com是域名,端口号默认是80(不指定端口默认是80端口);
所以:
- www.baidu.com/hehe.html 同源
- www.baidu.com/heihei/houhou.html 同源
- www.i71.com/haha.html 域名不同,不同源
- 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)
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。