http1.0
http1.0只能进行短连接。因为一次tcp连接要进行三次握手和四次挥手,所以很容易造成线程阻塞
http1.1
-
引入持久连接,connection:keep-alive -
引入管道机制,在同一个tcp连接里,客户端可以同时发送多个请求 -
分块传输编码,服务端每产生一块数据就发送一块,采用“流模式”取代“缓存”模式 缺点 :
- 同步有序进行,容易造成“队头堵塞”,解决
- 高延迟
- 无状态特性-阻碍交互
- 铭文传输-不安全性
- 不支持服务端推送
http2.0
- 二进制代替文本格式
- 多路复用tcp连接,非有序并阻塞的,只需一个连接即可实现并行
- 报头压缩,降低开销
http3
HTTP跑在QUIC上而不是TCP上。而这个“HTTP over QUIC”就是HTTP协议的下一个大版本,HTTP/3。它在HTTP/2的基础上又实现了质的飞跃,真正“完美”地解决了“队头阻塞”问题。
QUIC 虽然基于 UDP,但是在原本的基础上新增了很多功能,接下来我们重点介绍几个QUIC新功能。不过HTTP/3目前还处于草案阶段,正式发布前可能会有变动,所以本文尽量不涉及那些不稳定的细节。
https
HTTP协议通常承载于TCP协议之上,在HTTP和TCP之间添加一个安全协议层(SSL或TSL),这个时候,就成了我们常说的HTTPS.
1. HTTPS是加密传输协议,HTTP是名文传输协议;
2. HTTPS需要用到SSL证书,而HTTP不用;
3. HTTPS比HTTP更加安全,对搜索引擎更友好,利于SEO,
4. HTTPS标准端口443,HTTP标准端口80;
5. HTTPS基于传输层,HTTP基于应用层;
|