HTTP 协议的前世今生
2021-02-17 16:17
标签:记录 创始人 可行性 control com ons 服务器软件 delete 增强
HTTP 协议全称是超文本传输协议(Hypertext Transfer Protocol),这里面需要理解三个地方:超文本、传输、协议,下面就从 HTTP 协议的历史讲起。 20 世纪 60 年代,美国国防部高等研究计划署(ARPA)建立了 ARPA 网,它有四个分布在世界各地的节点,被认为是互联网的始祖。 到了 70 年代,基于对 ARPA 网络的实践和思考,研究人员发明出了著名的 TCP/IP 协议,并在 80 年代中期进入了 UNIX 内核,使更多计算机接入了互联网。 这位大师叫蒂姆·伯纳斯·李(Tim Berners-Lee),是万维网的创始人,简单点说,是当代互联网的创始人。 在 1989 年,他发表了一篇论文,提出了在互联网上构建超链接文档系统的构想,在这篇论文里他确立了三项关键技术: 这三项技术直接奠定了我们当今 Web 世界的技术,蒂姆把它称为万维网(World Wide Web)。 所以,1989 年,HTTP 诞生了。 在 20 世纪 90 年代初,互联网世界还是一片荒漠,计算机处理能力低下,存储容量小,网速很慢。网络上的绝大多数资源都是纯文本资源,所以 HTTP 协议也是纯文本格式的。 为了便于服务器和客户端处理,蒂姆最初设想的系统里的文档都是只读的,所以只允许用户通过 GET 请求从服务器上获取 HTML 文档,并且在响应之后立即关闭连接,功能非常有限。 这一版 HTTP 协议虽然很简单,但是作为一个原型,充分验证了 Web 服务的可行性。 1993 年,美国国家超级计算应用中心(NCSA)开发出了 Mosaic,是第一个可以图文混排的浏览器,随后又在 1995 年开发出了服务器软件 Apache,简化了 HTTP 服务的搭建工作。 同一时期,在 1992 年发明了 JPEG 图像格式,1995 年发明了 MP3 音乐格式。 这些新技术的出现,促使 HTTP 协议开始添加各种特性,从用户需求的角度促进了 HTTP 协议的发展。 在已有实践的基础上,经过一系列的草案,HTTP/1.0 在 1996 年正式发布。主要增加了以下几部分内容: 但是 HTTP/1.0 并不是一个标准,只是记录已有实践和模式的一份参考文档,不具有实际的约束力,相当于一个备忘录。 1999 年,HTTP/1.1 发布了 RFC 文档,编号为 2616,从版本号我们就可以看到,HTTP/1.1 是对 HTTP/1.0 的小幅度修正。但是一个重要区别是,它是一个正式的标准,而不是一份参考文档。但是 HTTP/1.1 说是小幅度修正也不太确切,这里面主要变更点有: 我们当今世界的所有知名网站,都是在这个时间点左右创立的,可以说有了 HTTP/1.1,才开创了 Web 1.0、Web 2.0 时代。 不过,由于 HTTP/1.1 太过庞大和复杂,因此在 2014 年又进行了一次修订,拆分为六份较小的文档,7230 /7231/7232/7233/7234/7235 这六份文档增加了两个大的需求: HTTP/1.1 存在两个问题: 2010 年,Google 推出了新的 SPDY 协议,并应用于自家的服务器,HTTP/2 就是以 SPDY 为基础的,它的特点主要是: HTTP/2 的主要问题有队头阻塞问题,也就是说,若干个 HTTP 请求在复用一个 TCP 的连接,那么一旦发生丢包,造成的问题就是所有的请求都必须等待这个丢了的包重传回来,哪怕这个包不是我这个 HTTP 请求的。 基于此,Google 发明了 QUIC(Quick UDP Internet Connections)协议,它是基于 UDP 的。因此,它就解决了以下几个问题: 所以,QUIC 是一个在 UDP 之上的伪 TCP + TLS + HTTP/2 的多路复用协议。在未来,QUIC 协议成熟了的话,是有可能取代 TCP 协议的。 关注公众号领取二十套技术图谱 HTTP 协议的前世今生 标签:记录 创始人 可行性 control com ons 服务器软件 delete 增强 原文地址:https://www.cnblogs.com/lonelyxmas/p/12955933.htmlHTTP 诞生
HTTP/0.9
HTTP/1.0
Content-Type
,传输数据不再仅限于文本HTTP/1.1
Cache Control
Keepalive
HTTP/2
HTTP/3
上一篇:3.kubernetes快速入门— kubernetes入门到实战【入门+进阶篇】
下一篇:TAN: Temporal Aggregation Network for Dense Multi-label Action Recognition