HTTP/1.0 | 1996年 | 传输内容格式不限制,增加PUT、PATCH、HEAD、 OPTIONS、DELETE命令 | 正式作为标准 |
---|---|---|---|
HTTP/1.1 | 1997年 | 持久连接(长连接)、节约带宽、HOST域、管道机制、分块传输编码 | 2015年前使用最广泛 |
HTTP/2 | 2015年 | 多路复用、服务器推送、头信息压缩、二进制协议等 | 逐渐覆盖市场 |
S是SSL/TLS建立全信道,加密数据包。
TLS是传输层加密协议,前身是SSL协议,由网景公司1995年发布,有时候两者不区分
1、客户端向服务器请求公钥,
2、服务端会用CA的私钥对公钥加密然后和CA证书一起发给客户端,
3、客户端拿到加密后的公钥和证书(利用CA的公钥解密出实际的公钥),客户端TLS还会验证是否证书合法,
4、客户端生成一个随机的对称的密钥(一个随机数,基于RSA签名),来加密要发送的报文数据
5、生成的对称密钥会用接受的公钥进行加密,发给服务器,让服务端用私钥解密,获得这个对称密钥
6、客户端就可以用这个对称密钥来加密数据进行通信传输。
https 每次请求都会加密吗
不会,非对称加密是比较耗时的,每次都会对称加密请求
对称加密和非对称加密
对称指的是加密和解密用同一个密钥
非对称是加密和解密用不同的密钥。公钥和私钥两把钥匙
HTTP特点:
HTTPS特点:
基于HTTP协议,通过SSL或TLS提供加密处理数据、验证对方身份以及数据完整性保护
(1)客户端发送syn包(seq=x)到服务端,等待服务器确认;
SYN:同步序列编号(Synchronize Sequence Numbers)
(2)服务端收到syn包,必须确认客户端的SYN(ack=j+1),同时自己也发送一个SYN包(seq=k),即SYN+ACK包
(3)客户端收到服务端的SYN+ACK包,向服务端发送确认包ACK(ack=k+1),此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手
(1)客户端A发送一个FIN,用来关闭客户A到服务器B的数据传送
(2)服务器B收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。
(3)服务器B关闭与客户端A的连接,发送一个FIN给客户端A。
(4)客户端A发回ACK报文确认,并将确认序号设置为收到序号加1,然后等待2msl后关闭连接
等待2msl的目的是防止服务端没有收到,会重试请求给客户端。这段时间正好是2msl。
版权属于:dingzhenhua
本文链接:https://cloud.tencent.com/developer/article/2019356
转载时须注明出处及本声明
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有