开始之前先看两张图片
一张访问的域名是https://www.csdn.net,一张是http://www.12306.cn
HTTP和HTTPS的基本概念
1. HTTP:超文本传输协议,是互联网上应用最为广泛的一种网络协议,是一个客户端和服务器端请求和应答的标准(TCP),用于从WWW服务器传输超文本到本地浏览器的传输协议,可以使浏览器更加高效,网络传输减少。
2. HTTPS:是以安全为目标的HTTP通道,简单讲是HTTP的安全版,即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。
说一千道一万:HTTPS主要协议作用就是:建立一个信息安全通道,来确保数组的传输,确保网站的真实性。
HTTP和HTTPS的发展历史
- 发展历史
- http/1和 http/2的区别
在同时请求相同数量的图片时,HTTP/2性能更占优势。
原因如下:
从图中就能看出来,HTTP/2采用了多路复用:通过单一的HTTP/2发起多重请求-响应消息,多个请求stream共享一个TCP连接,实现多留并行而不是依赖建立多个TCP连接。
HTTP VS HTTPS
HTTP:
- http传输的数据都是未加密的,也就是明文的。所以无法保证数据的完整性。
- 无状态:协议对客户端没有状态存储,对事物处理没有“ 记忆 ”能力,比如访问一个网站需要反复进行登陆操作。
- 无连接:在HTTP/1.1之前,每次请求都需要通过TCP三次握手和四次挥手,和服务器重新建立连接。所以每次都需要重新响应请求,需要耗费不必要的时间和流量。
- 客户端发起请求,服务端响应。
HTTPS:
- HTTPS协议是由HTTP和SSL协议构建的可进行加密传输和身份认证的网络协议,比HTTP更具有安全性。
- HTTPS需要CA证书,费用较高。
- 使用不同的链接方式,端口也不同,HTTP的端口为80,HTTPS的端口为443
HTTPS的工作原理
- 客户使用https url访问服务器,web服务器建立ssl链接。
- web服务器接收到客户端的请求之后,会将网络的安全证书返回给客户端。
- 客户端和web服务器端开始协商ssl链接的安全等级,也就是加密等级。
- 客户端浏览器通过协商一致的安全等级,建立会话密钥,然后通过网站的公钥来加密会话密钥,并传送给网站。
- web服务器通过自己的私钥解密会话公钥。
- web服务器通过会话密钥加密与客户端之间的连接。
HTTPS 的缺点
- HTTPS握手阶段比较费时,会使页面加载时间延长,增加耗电。
- HTTPS的缓存不如HTTP高效,会增加数据开销。
- SSL证书也需要钱,功能越强大的证书费用越高。
- SSL证书需要绑定一个IP,布恩在同一个IP上绑定多个域名,IPV4资源支持不了这种消耗。