什么是http?
HTTP(HyperText Transfer Protocol)
超文本传输协议,它是基于TCP/IP协议
的应用层协议
,规定了客户端如何向服务器发请求,以及服务器如何响应这些请求。
http 协议进化史
HTTP 0.9:1991年
只支持GET
方法,不支持头部,响应只包含数据体。
HTTP 1.0:1996年
它增加了对POST
和HEAD
方法的支持,以及对请求头
和响应头
的定义。
HTTP 1.1:1999年
引入了PUT
和DELETE
方法。
增加了更多请求和响应头部,增强了缓存和内容协商的能力。
支持持久连接(Keep-Alive),减少了TCP连接的开销。
引入了chunked encoding,用于分块传输数据,可以一边发送一边处理。
允许发送压缩数据,例如gzip压缩。
HTTP 2.0:2015年
使用二进制分帧
,而不是文本行,提高了协议的效率和解析速度。
支持多路复用
,可以同时处理多个请求和响应,减少了延迟。
引入了服务器推送(Server Push)功能,服务器可以主动将资源推送给客户端,而无需客户端明确请求。
支持头信息压缩,使用HPACK压缩算法,减小了头部的大小。
HTTP 3.0:HTTP 3.0是HTTP协议的最新版本,目前还在开发中。
使用QUIC协议作为传输层,QUIC是一个快速、安全的传输协议,具有低延迟和更好的安全性。
支持更高效的请求和响应压缩算法。
引入了新的安全特性,如加密握手的改进和防止中间人攻击的机制。
参考
为什么需要HTTP/2,他解决了什么问题?