真正“搞”懂HTTP协议03之时间穿梭

上一篇我们简单的介绍了一下DoD模型和OSI模型 , 还着重的讲解了TCP的三次握手和四次挥手 , 让我们在空间层面 , 稍稍宏观的了解了HTTP所依赖的底层模型 , 那么这一篇 , 我们来追溯一下HTTP的历史 , 看一看HTTP在历史上经历了哪些发展和过程 , 才让这个协议一直经久不衰 。
最开始 , 在20世纪60年代 , 也就是1950年到1960年之间 , 那时候我爹还没出生呢……但是美国国防部高等研究计划署(ARPA)建立了ARPA网 , 他有四个分布在各地的节点 , 被认为是互联网的始祖 。信息时代的号角也在此刻吹响 , 人们即将迎来快速发展的网络时代 。
在70年代 , 我爹五六岁的时候 , 基于对 ARPA 网的实践和思考 , 研究人员发明出了著名的 TCP/IP 协议 。由于具有良好的分层结构和稳定的性能 , TCP/IP 协议迅速战胜其他竞争对手流行起来 , 并在 80 年代中期进入了 UNIX 系统内核 , 促使更多的计算机接入了互联网 。
你看 , 这些东西存活了这么久 , 可以说是经历了无数的实践和总结 , 是我们最需要去学习和学懂的底层的不变的知识 。这也是为什么网络基础是大学计算机专业一门十分重要的学科的原因 。
换句话说 , 这些东西是我们作为程序员所需要学习的那些不变的知识 。
从一篇论文开始在1989年的一个夏天 , 这时候我还没出生 , 时任欧洲核子研究中心的蒂姆·伯纳斯 - 李(Tim Berners-Lee)在一个明媚的下午 , 终于完成了他耗费心血的一篇论文 , 提出了在互联网上构建超链接文档系统的构想 。在这篇论文中 , 他确立了三项核心技术:URI、HTML和HTTP 。
而这个时候 , 想必HTTP的发明者也不一定可预见HTTP会在未来发展到如此地步 。
HTTP/0.9:宏伟的蓝图在20世纪90年代 , 这个时候我刚出生没多久 , 互联网世界非常的简陋 , 计算机的处理能力也不行 , 存储能力就更别提了 , 最主要的是体积还大的不行 。能在网上看看新闻都是天大的奇迹了 。这个时候的网速当然也十分有限 , 所以在网络上使用的协议也都是以纯文本传输 , 也就能看看纯文字的内容 , 嗯~~废了这么大劲 , 我还不如去看报纸 , 确实 , 这时候报纸要远比网页好看 , 毕竟报纸还能有黑白图片 。
基于这样的背景 , 此时的HTTP设计的也十分简陋 , 采用了纯文本的格式 , 并且只有GET方法从服务器获取HTML文档 , 并且在响应请求后立即关闭连接 , 仅仅只是这样 。
但 , 正是因为最开始的HTTP如此简单 , 才在未来赋予了它无限的可能 。因为 , 把简单的变复杂 , 远比把复杂的变简单要容易很多 。
那么我们简单总结下这个时候的HTTP的特点:

  1. 只有请求行 , 没有请求头和请求体(这样说不太准确 , 我们后面再聊) 。
  2. 服务器也不会返回任何头信息 , 只返回客户端想要的数据就可以了 。
  3. 返回的文本内容是用ASCII字符流来传输的 。
HTTP/1.0:不标准的标准虽然HTTP0.9这么简单 , 但是它已经可以满足当时的需求了 。不过 , 随着世界的发展 , 在1994年底出现了拨号上网服务 , 同年网景推出了一款浏览器 , 从此万维网就不再是单纯的限制于学术交流 , 而是进入了高速发展的阶段 。并且在这个时期 , 还出现了JPEG的图片格式 , 以及MP3格式等 。也就是说 , 大众对于媒体展示的需求越发的缤纷了起来 。

经验总结扩展阅读