HTTPS与HTTP的主要区别

特性
HTTP
HTTPS
安全性
未加密,易遭中间人攻击
加密传输,防窃听和篡改
端口
使用80端口
使用443端口
SSL/TLS证书
不需要
需要,用于加密通信
性能
相对较快
加密解密增加负载,但差距逐渐缩小

不同TLS版本的对比

版本
发布年份
主要特点
安全问题
对称加密算法
散列函数
密钥交换算法
TLS 1.0
1999
改进自SSL 3.0,增加加密算法选项
受BEAST攻击影响
DES, 3DES, RC4, AES
MD5, SHA-1
RSA, DH, ECDH, SRP
TLS 1.1
2006
引入显式IV以对抗BEAST攻击,改进填充错误处理
安全性提高,但未广泛采用
与TLS 1.0相同
MD5, SHA-1
RSA, DH, ECDH, SRP
TLS 1.2
2008
引入SHA-256、AES等,支持AEAD,不依赖MD5和SHA-1
更安全,但存在新的攻击方式
AES, AES-GCM, 3DES, Camellia
SHA-256, SHA-384, SHA-512
RSA, DH, ECDHE, SRP, PSK
TLS 1.3
2018
简化握手过程,移除不安全算法,支持PFS,引入0-RTT
需要应对0-RTT重新播放攻击
AES-GCM, ChaCha20-Poly1305
SHA-256, SHA-384
ECDHE, DHE

不同HTTP版本的对比

版本
发布年份
主要特点
主要改进点
主要缺陷
HTTP/0.9
1991
只支持GET请求,无请求/响应头
功能极限,只传输纯文本
HTTP/1.0
1996
支持多种请求方法,引入状态码和HTTP头
每次请求后连接关闭,无持久连接
HTTP/1.1
1997
持久连接,默认keep-alive,引入更多缓存控制,支持虚拟主机
减少连接开销,增强缓存和主机支持
队头阻塞,头部未压缩导致带宽消耗
HTTP/2
2015
二进制帧、多路复用、头部压缩、服务器推送
提高传输效率和速度,减少延迟
单个慢请求可能阻塞所有请求,初期兼容性问题
HTTP/3
2021
基于QUIC协议,改善丢包下的性能,继承HTTP/2的多数特性
减少连接时间,提高在不稳定网络下的性能
基于UDP,可能有兼容性问题,重传机制不如TCP成熟

推荐

Leetcode 894. 所有可能的真二叉树递归算法总结
Loading...