我们日常使用的能联网的设备,或多或少的都使用了HTTP,它是基于TCP/IP的通信协议,我们来了解一下它的历史进程。
史前时期
20世纪60年代,美国国防部建立了ARPA网,在70年代又提出了TCP/IP协议,并在80年代应用在UNIX内核中。
创世纪
欧洲核子研究中心(CERN)的蒂姆·伯纳斯 - 李发表了一篇论文,提出了文档系统,它有三大关键技术:
- URL:统一资源标识符
- HTML:超文本标记
- HTTP:超文本传输协议
HTTP/0.9
20世纪90年代的HTTP定义为0.9版本,功能非常有限,只能用于传输纯文本。
HTTP/1.0
1993 年,NCSA(美国国家超级计算应用中心)开发了图文混排浏览器Mosaic,在之后以开发了简化HTTP搭建的Apache。在同一时间多媒体技术以出现了JPEG,MP3格式。
1996年,HTTP1.0正式发布,更新特性:
- 增加了 HEAD、POST 等新方法;
- 增加了响应状态码,标记可能的错误原因;
- 引入了协议版本号概念;
- 引入了 HTTP Header(头部)的概念,让 HTTP 处理请求和响应更加灵活;
- 传输的数据不再仅限于文本。
HTTP/1.1
1995年,浏览器大战,网景的 Netscape Navigator 和微软的 Internet Explorer对决,最后微软IE胜出。
HTTP1.1更新特性如下:
- 增加了 PUT、DELETE 等新的方法;
- 增加了缓存管理和控制;
- 明确了连接管理,允许持久连接;
- 允许响应数据分块(chunked),利于传输大文件;
- 强制要求 Host 头,让互联网主机托管成为可能。
HTTP/2
Google不满HTTP的发展,推出 SPDY 协议并应用于应用Chrome浏览器,利于市场份额,倒逼HTTP变革。
在2015年,HTTP/2发布了,更新特性如下:
- 二进制协议,不再是纯文本;
- 可发起多个请求,废弃了 1.1 里的管道;
- 使用专用算法压缩头部,减少数据传输量;
- 允许服务器主动向客户端推送数据;
- 增强了安全性,“事实上”要求加密通信。
HTTP/3
Google发明 QUIC 协议,在2018年HTTP/3获得批准。