HTTPS并不是一个独立于HTTP的另一个协议,而是基于TCP之上,多加一层SSL/TSL协议,对它上一层的数据包进行加密,并传给下一层,所以并没有HTTPS协议这一说法,而是SSL/TSL协议。
SSL/TLS的发明
HTTPS、TLS的历史与浏览器、HTTP的历史差不多一样长,1990年底、1991年初,工作于欧洲核子研究中心计算机科学家蒂姆·伯纳斯-李(Tim Berners-Lee)发明了HTTP、HTML和第一个浏览器(也叫WorldWideWeb,后来改名为Nexus)。
1994年10月13日,网景公司发布了它的第一款网页浏览器Mosaic Netscape 0.1,同年,该公司也在着手研发用于解决HTTP安全问题的SSL协议。
SSL (Secure Socket Layer, 安全套接层), 最初于1994年由Netscape 研发,用于其推出的网景导航者浏览器。
网景(Netscape Communications Corporation)(1994年4月成立,1998年11月被美国在线收购),这家存在并没有多久的技术公司,却做出了多项对迄今为止的互联网有深刻影响的贡献:
网景发明了Cookie技术,解决了HTTP的无状态问题;
发明了JavaScript,让浏览器的能力得到很大的增强;
为了解决HTTP的安全与隐私问题,网景发明了SSL,产生了HTTPS;
HTTP存在的安全问题:
- 加密:明文通信,没有经过加密,内容可被偷听
- 身份验证:没有对通信双方的身份进行验证,可能伪造身份
- 一致性、完整性:不能验证数据包的完整性,内容可被篡改
HTTP一个众所周知的问题是,没有状态的,所以通过Session/Cookie机制来解决。
而HTTPS通过引入SSL/TLS安全层协议,解决了HTTP没有加密、身份验证、完整性校验的问题。因此,有些人把HTTPS总结为:HTTPS = HTTP + SSL/TLS,或者HTTPS = HTTP + 证书 + SSL/TLS。

要理解HTTPS,其实就是要理解SSL/TLS协议,HTTPS是SSL/TLS的一个重要子应用,这也是为什么介绍HTTPS的书很少,更多的是关于SSL/TLS的书籍,而讲HTTPS书,实质上也是在讲SSL/TLS。而SSL/TLS核心又在于保密性、完整性及身份校验,因此有关密码学、加密/解密算法、数字证书又是理解TSL/SSL的重点。
SSL/TLS不仅适用于HTTP,它是建立在传输层上的一套加密协议,对更上一层的应用协议进行加密,并传给下一层(比如
TCP、UDP、DCCP),虽然它设计的初衷主要用于TCP。TSL/SSL也得到FTP、SMTP、NNTP、XMPP、POP、IMAP的广泛支持。成为现在互联网上保密通信的工业标准。SSL/TLS的标准
后来IETF对SSL进行标准化,并将其更名为TLS (Transport Layer Security, 传输层安全),主要发展历程:
SSL 1.0 1994年,因为存在严重安全漏洞,从未公开。基础算法由作为网景公司首席科学家的密码学家塔希尔·盖摩尔编写(所以他被人称为SSL之父)
SSL 2.0 在1995年2月发布,被发现存在数个严重安全漏洞
SSL 3.0 在1996年发布,2014年10月Google发布在SSL 3.0 中发现设计缺陷,建议禁用此协议
TLS 1.0 在RFC 2246 中定义, 1991年发布,TLS1.0 与 SSL 3.0 差异比较小
TLS 1.1 在RFC 4346 中定义, 2006年4月发布
TLS 1.2 在RFC 5246 中定义,2008年8月发布
TLS 1.3 在RFC 8446 中定义,2018年8月发布,在TLS 1.2 基础上,调整、扩展了较多功能
除了这些主要定义TLS的RFC之外,还有很多RFC对各主TSL协议各版本进行扩展,如 RFC 6347 定义了DTLS的1.2版本
协议 | 发布时间 | 状态 | IETF RFC文件 |
SSL 1.0 | 未公布 | 未公布 | 没有 |
SSL 2.0 | 1995年 | 已于2011年弃用 | 没有 |
SSL 3.0 | 1996年 | 已于2015年弃用 | |
TLS 1.0 | 1999年 | 计划于2020年弃用 | |
TLS 1.1 | 2006年4月 | 计划于2020年弃用 | |
TLS 1.2 | 2008年8月 | ||
TLS 1.3 | 2018年8月 |
TLS1.3是一个雄心勃勃的设计,如IETF 为TLS1.3发布的官方Blog所说的:
In short, TLS 1.3 is poised to provide a foundation for a more secure and efficient Internet over the next 20 years and beyond.
虽然HTTPS由来已久,但直到近几年才逐渐在普及,尤其是几大科技巨头在相继出台一些技术策略,加速了这一过程:
- 2014年起,google调整搜索算法,让采用HTTPS的网站在搜索结果中排名更靠前
- 2017年起,苹果要求App Store 中的应用基于HTTPS通信
- 小程序也要求必须采用HTTPS
- Chrome把HTTP标记为不安全站点
- HTTP/2需要建立在HTTPS基础上