HTTP 0.9
20世纪90年代初期互联网络非常简陋,计算机的计算能力还比较低,这时候网上的绝大部份资源都是纯文本的,这时候的http被定义成0.9版,功能非常有限,它同样也采用了纯文本格式,只能从服务器上GET资源,而且在响应请求之后立即关闭连接。
HTTP 1.0
在1993年~1995年之间,基于多媒体的发展以及各种浏览器争相出场,极大的激起了广大网民的热情,越来越多的人喜欢上了网络,研究HTTP并提出了很多的改进意见,极大的促进了HTTP的发展,HTTP 0.9已经跟不上时代的步伐了,这时HTTP 1.0应运而出,它从多方面对HTTP 0.9进行了增强。例如:
- 增加了HEAD、POST等方法;
- 增加了错误码;
- 引入了协议版本号的概念;
- 引入了HTTP头;
- 传办理的数据不再只限于文本。
但这时的HTTP 1.0并不是一个标准,只是对一份实践与模式的记录文档,不具备约束力,相当于一个经验记录文档。
HTTP 1.1
1995年,网景公司的Netscape与微软的IE
开始了著名的“浏览器大战”,都希望在浏览器上占据主导地位,它再一次极大的推进了,HTTP 1.0在大战中经受了考验。于在在大战结束后的1999年,HTTP 1.1发布了RFC版文档,确定了标准。
标准:意味着互联网上任何地方用到HTTP协议,都必须按协议的要求做事。
HTTP 1.1的主要改进地方有:
- 增加了PUT、DELETE等方法;
- 增加了缓存管理和控制;
- 明确连接管理、允许长连接;
- 允许响应数据分块,便于传输大文件。
HTTP 2
HTTP 1.1发布后,全世界的互联网呈现出了爆发试的增长,HTTP 1.1渐渐的跟不上迅猛发展的互联网世界了,为了适应现今互联网发展的现状,互联网标准化组织以Google的SPDY协议为基础重新制定了新版本的HTTP协作,最终在2015年发布了 HTTP 2,其主要特点有:
- 二进制协议,不在是纯文本;
- 可发起多个请求,废弃了HTTP 1.1里的管道;
- 使用专用算法压缩头部,减少数据传输量;
- 允许服务主动向客户端推送数据;
- 增强了安全性,要求使用安全通道。
HTTP 3
在HTTP 2还处于起草阶段时,Google又发时了新的协议QUIC,QUIC协议低层用UDP协作代替TCP协作,传输数据更高效,用另一应用院协作保证数据可造性。
在2018年互联网标准组织提议将"HTTP over QUIC"更名为HTTP 3,并且获得了批准,正式进入了标准化制定阶段,在不久的未来即将正式发布。