作为网络安全的一项基本措施,早期由Netscape引入浏览器,同源指的是:
1.协议相同;
2.域名相同;
3.端口相同;
违背同源策略的情况有:
1.协议名不同,如http和https
2.端口号不同;
3.域名不同;
4.主域相同,子域不同;
5.主域和主域对应的ip
同源的情况:
同协议同域名同端口下的不同文件目录;
a.com与www.a.com
关于跨域的问题之前写过一篇梳理了,这里写下对https的初步认识。
https比http多了一个s。s是secure的意思,这个secure怎么来的呢?或者说怎么保证secure呢?这要多亏了Secure Sockets Layer(SSL,安全套接字)及其后继者Transport Layer Security(TLS,传输层安全协议)。https之所以比http安全你,是因为其协议中多了SSL/TLS。SSL/TLS是一种安全协议(又称密码协议),说白了就是在通信时对内容进行加密,防止被第三方直接截获和修改。
HTTPS协议由网景公司推出,用SSL加密,后来IETF将SSL进行标准化,1999年公布第一版TLS标准文件。
TLS协议的目的是在两个应用程序之间建立安全的连接,它与应用层无关。在http协议之前,“TLS协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商以及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。”具体过程看维基:https://zh.wikipedia.org/wiki/%E5%82%B3%E8%BC%B8%E5%B1%A4%E5%AE%89%E5%85%A8%E5%8D%94%E8%AD%B0#.E6.A6.82.E8.AB.96
回顾一下,OSI被划分为七层,但在软件通信的实践中它们被抽象为4个抽象层,采取协议堆栈的方式实现了不同的通信协议:
---------应用层
应用层 HTTP,HTTPS,FTP,SSH,TELNET...
---------传输层
---------网络互联层
----------网络接口层