HTTP的诞生
HTTP是一种网络协议,是互联网组织为了规范超文本传输制定的一组规范(约定)。HTTP协议的产生加速了互联网的发展,互联网的发展和用户的需求反过来促进了HTTP协议的发展。
1989年,欧洲核子研究中心(CERN)的蒂姆·伯纳斯-李(Tim Berners-Lee)发表了一篇论文,提出了在互联网上构建超链接文档系统的构想。论文中提出了三项关键技术。
URI:统一资源标识符,作为互联网上资源的唯一身份。
HTML:超文本标记语言,描述超文本文档。
HTTP:超文本传输协议(HyperText Transfer Protocol),用来传输超文本。
HTTP/0.9
纯文本的网络传输协议,只允许“GET”动作从服务器上获取HTML文档,在响应请求后立即关闭连接,功能有限。
HTTP/1.0
1、增加了HEAD、POST等新方法;
2、增加了响应状态码,标记可能的错误原因;
3、引入协议版本号;
4、引入HTTP Header(头部)的概念,让HTTP处理请求和响应更加灵活;
5、传输的数据不再仅限于文本。
HTTP/1.1
1、增加了PUT、DELETE等新方法;
2、增加了缓存管理和控制;
3、明确了连接管理,允许持久连接;
4、允许响应数据分块(chunked),利于传输大文件;
5、强制要求Host头,让互联网主机托管成为可能。
HTTP/2
由于互联网迅猛发展,HTTP/1.1连接慢的问题日益凸显,google在chrome浏览器中自研了SPDY协议,倒逼了HTTP协议的改革。互联网标准化组织以SPDY协议为基础制定了HTTP/2协议。HTTP/2协议充分考虑了现今互联网的现状(宽带、移动、不安全),尤其改进了其性能,主要有以下特点。(目前HTTP/2的普及还较低)
1、二进制协议,不再是纯文本。
2、可以发起多个请求,废弃了1.1中的管道。
3、使用专用算法压缩头部,减少数据传输量。
4、允许服务器主动向客户端推动数据;
5、增强了安全性,要求加密通信。
HTTP/3
在HTTP/2还处于草案之时,Google又发明了一个新的协议QUIC,继续和SPDY一样的套路,部署在Chrome和自家服务器中,依托庞大的用户量和数据量,推动QUIC协议成为了互联网的“既成事实”,2018年,互联网标准化组织IETF提议将“HTTP over QUIC”更名为“HTTP/3”并获得批准。
总结
1、HTTP协议始于30年前蒂姆.伯纳斯.李的一篇论文。
2、HTTP/0.9是简单的文本协议,只能获取文本资源。
3、HTTP/1.0确立了大部分现在使用的技术,但他不是正式标准。
4、HTTP/1.1是目前互联网使用最广泛的协议,功能也非常完善。
5、HTTP/2是基于Google的SPDY协议,注重性能改善,还未全面普及。
6、HTTP/3是基于Google的QUIC协议,是将来发展的方向。