HTTP的发展历史和各个版本差异

HTTP前世此生

1989年,蒂姆·伯纳斯-李发表论文确立了三项关键技术:算法

  • URI: 统一资源标志符,做为互联网上资源的惟一身份
  • HTML: 超文本标记语言,描述超文本文档
  • HTTP: 超文本传输协议,用来传输超文本

基于这三项技术,就能够把超文本系统完美地运行在互联网上,让各地的人们自由共享信息,这个系统就是"万维网",如今的Web.所以,这一年(1989年),HTTP诞生.chrome

HTTP/0.9

因为20世纪90年代初期互联网世界的简陋,收到硬件技术的限制,这个时期的HTTP被定义为0.9版,结构简单,采用了纯文本格式来便于服务端和客户端的处理.蒂姆·伯纳斯-李最初的设想是系统中的文档都是只读的,因此只容许用"GET"动做来获取文档,而且响应请求以后当即关闭链接,功能有限. 简单的来讲这个时期的HTTP的设计受到了时代的限制.浏览器

HTTP/1.0

1993年,NCSA(美国国家超级计算应用中心)开发出Mosaic,是第一个图文混排的浏览器,随后又在1995年开发出服务器Apache,简化HTTP服务器的搭建工做,同时期的多媒体技术也发展很快,MP3等,这些新的技术使得HTTP进一步发展,与1996年正式发布HTTP/1.0,形式上和如今的HTTP差异不大了,例如:缓存

  • 增长HEAD POST等新方法
  • 增长响应状态码,标记可能的错误缘由
  • 引入协议版本号概念
  • 引入HTTP HEADER(头部)概念,让HTTP处理请求和响应更灵活
  • 传输的数据再也不仅限于文本

可是HTTP/1.0并非一个"标准",只是记录已由实践和模式的一份参考文档,至关于一个"备忘录".安全

HTTP/1.1

1995年,网景的Netscape Navigator和微软的IE进行浏览器大战,争取互联网主导地位,最后IE获胜(后来网景凭借Mozilla Firefox扳回一局)服务器

此次的大战极大的推进了互联网的发展,HTTP/1.0在这个过程当中经受了实践的检验,以后再1999年,HTTP/1.1发布了REC文档,编号2616. HTTP/1.1是对HTTP/1.0的小幅度修改,最重要的区别是1.1是一个"正式的标准",而不是参考文档,意味着从此互联网上全部的浏览器、服务器、网关、代理等,只要用到HTTP协议,就须要遵照这个标准.网络

HTTP/1.1主要的变动点:性能

  • 新增PUT、DELETE等新的方法
  • 增长了缓存管理和控制
  • 明确了链接管理,容许持久链接
  • 容许响应分块(chunked),利于传输大文件
  • 强制Host头,让互联网主机托管成为可能
HTTP/2

HTTP/1.1标准通过多年,出现的问题主要就是链接慢,没法跟上迅速发展的互联网.这种状况下Google开发浏览器Chrome,推出新的SPDY协议,并用在Chrome中,开启了第二次"浏览器大战",此次是Google获胜,趁此将SPDY推上标准王座,互联网标准化组织以SPDY为基础开始制定新版本的HTTP协议,最终于2015年发布HTTP/2,RFC编号是7540.网站

HTTP/2的制定充分考虑了如今互联网的现状: 宽带、移动、不安全,在高度兼容1.1的同时在性能改善方面作了很大努力,主要特色有:加密

  • 二进制协议,再也不是纯文本
  • 可发起多个请求,废弃1.1中的管道
  • 使用专用算法压缩头部,减小数据传输量
  • 容许服务器主动向哭护短推送数据
  • 加强安全性,事实上要求加密通讯

目前HTTP/2的普及率还比较低,主要是由于HTTP/1.1太经典和强势,因此大部分网站仍是HTTP/1.1.

SPDY协议是基于TCP会话层的协议,主旨在于最小化网络延迟,提高网络速度.

HTTP/3

在HTTP/2还处于草案之时,Google又发明了一个新的协议,叫作QUIC,并且相同的套路,继续在chrome和自家服务器实验着玩,依托于庞大的用户量和数据量,持续地推进QUIC协议成为互联网上的"既成事实".

2018年,互联网标准化组织IETF提议将"HTTP over QUIC"改名为"HTTP/3"并得到批准,HTTP/3进入标准化制定阶段,也就两三年后就会发布.

QUIC是基于UDP的协议,主旨在于低时延.

总结
  1. HTTP协议始于1989年蒂姆·伯纳斯-李的一篇论文
  2. HTTP/0.9是个简单的文本协议,只能获取文本资源(get获取纯文本)
  3. HTTP/1.0确立了如今使用的大部分技术,但不是正式标准
  4. HTTP/1.1是目前互联网使用最为普遍的协议,功能也很是完善(第一个标准文档).
  5. HTTP/2基于Google的SPDY协议,注重性能改善,但还未普及
  6. HTTP/3基于Google的QUIC协议,是未来的发展方向

TCP是河,HTTP是船

相关文章
相关标签/搜索