同源策略
- 什么是同源策略(Same Origin Policy)?
- 什么是跨域?
- 什么是域名?
什么是同源策略(Same Origin Policy)?
所谓同源策略,所谓同源是指,域名,协议,端口相同。它是浏览器的一种最核心最基本的安全策略。它对来至不同源的文档或这脚本对当前文档的读写操作做了限制。
为什么要有这个策略,想必你已经知道,那就是因为保证用户的信息安全。
什么是跨域?
访问同源的资源是被浏览器允许的,但是如果访问不同源的资源,浏览器默认是不允许的。访问不同源的资源那就是我们所说的跨域
什么是域名?
1. 协议(protocol):本例为“http:”,表示HTTP协议(超文本传输协议)。Internet协议中还包含了很多其他协议,如常用的HTTPS(安全套接字层超文本传输协议),FTP(文件传输协议),SMTP(简单邮件传输协议)等。在协议后面要加上“//”。特例:file 资源是本地计算机上的文件。格式file:///,注意后边应是三个斜杠2. 域名(domain):
① .com是顶级域名,顶级域名分为国际域名(如.com .net .org等)和国家域名(如.cn)
② cnblogs.com是一级域名,一般网站会把一级域名301/302重定向到二级域名
③ www.cnblogs.com是二级域名,其中www也是通用的二级域名,还有一些常用二级域名有bbs(论坛),tieba(贴吧),mail(邮箱)等
④ aa.www.cnblogs.com是三级域名,极少用到3. 端口(port):可选,域名和端口之间使用“:”作为分隔符。省略时使用各种传输协议有默认端口号,其中http的默认端口为80。端口的范围是1~65535,其中0~1023多用于绑定一些服务做其默认端口。4. 目录(path):可选,从域名后的第一个“/”开始到最后一个“/”为止,也叫路径,其中有些目录最后一个“/”后面是文件名,如果不写则使用默认文件名,在html中一般使用该路径下的index.html。5. 参数(query):“?”后面为参数部分,又称搜索部分、查询部分。参数可以允许多个,用“&”分隔。存放了一些数据信息,例如get提交的数据。6. 锚部分(hash):可选,“#”后面是锚部分。之前的多应用于锚点定位,在现在的单页应用中作为锚点路由发挥了更大的作用。同时有location.hash可以获取和设置hash,并可以通过onhashchange监听变化等。本例中锚部分是“#overview”,锚点路由一般形式为“.../#/produce/list”。