HTTP协议的发展历程 - 图1

HTTP简介

  1. HTTP是一个用在计算机世界里的协议,它确立了一种计算机之间交流通信的规范,以及相关的各种控制和错误处理方式。
  2. HTTP用来在两点之间传播数据,不能用于广播、寻址和路由。
  3. HTTP传输的是文字、图片、音频、视频等超文本数据。
  4. HTTP是构建互联网的重要基础技术,跑在TCP/IP协议之上,依靠IP协议实现寻址和路由,依靠TCP协议实现可靠数据传输,依靠DNS实现域名查找,依赖SSL/TSL协议实现安全通信,同时许多技术也依赖于它,如WebSocket、HTTPDNS。

    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

  6. 增加了PUT、DELETE等新方法。

  7. 增加了缓存管理和控制。
  8. 明确了连接管理,允许持久连接。
  9. 允许响应数据分块(chunked),利于传输大文件。
  10. 强制要求Host头,让互联网主机托管成为可能。

    HTTP/2

    由于互联网迅猛发展,HTTP/1.1连接慢的问题日益凸显,Google在Chrome浏览器中自研了SPDY协议,倒逼了HTTP协议的改革。互联网标准化组织以SPDY协议为基础制定了HTTP/2协议。HTTP/2协议充分考虑了现今互联网的现状(宽带、移动、不安全),尤其改进了其性能,主要有以下特点。(目前HTTP/2的普及还较低)。

  11. 二进制协议,不再是纯文本。

  12. 可以发起多个请求,废弃了1.1中的管道。
  13. 使用专用算法压缩头部,减少数据传输量。
  14. 允许服务器主动向客户端推动数据。
  15. 增强了安全性,要求加密通信。

    HTTP/3

    在HTTP/2还处于草案之时,Google又发明了一个新的协议QUIC,继续和SPDY一样的套路,部署在Chrome和自家服务器中,依托庞大的用户量和数据量,推动QUIC协议成为了互联网的“既成事实”,2018年,互联网标准化组织IETF提议将“HTTP over QUIC”更名为“HTTP/3”并获得批准。
    HTTP3将原来底层的TCP协议改成了UDP,用于加快数据传输的速度,在UDP和SSL之间加了一层来保证数据的准确性。

    总结

  16. HTTP协议始于30年前蒂姆.伯纳斯.李的一篇论文。

  17. HTTP/0.9是简单的文本协议,只能获取文本资源。
  18. HTTP/1.0确立了大部分现在使用的技术,但他不是正式标准。
  19. HTTP/1.1是目前互联网使用最广泛的协议,功能也非常完善。
  20. HTTP/2是基于Google的SPDY协议,注重性能改善,还未全面普及。
  21. HTTP/3是基于Google的QUIC协议,是将来发展的方向。

参考自https://www.infoq.cn/article/WhCObxfbgtphY7ijv1kp