Page 151 - Web性能权威指南
P. 151
• 服务器响应是一个 ASCII 字符流;
• 服务器响应的是一种超文本标记语言(HTML);
• 连接在文档传输完毕后断开。
然而,即便这样说也比实际情况复杂。以上规则定义了一个极其简单、可以通过
Telnet 验证的协议,某些 Web 浏览器直到今天仍然支持:
$> telnet google.com 80
Connected to 74.125.xxx.xxx
GET /about/
(超文本响应)
(连接关闭)
请求只有一行,包括 GET 方法和要请求的文档的路径。响应是一个超文本文档,没
有首部,也没有其他元数据,只有 HTML。这实在是简单得不能再简单了!鉴于以
上交互行为只实现了部分预期目标,因此相应的协议也被非官方地称为 HTTP 0.9。
此后发生的事,大家都知道了。
以 1991 年这个低调开端为起点,HTTP 在随后几年中展现了自己的生命力,得到了
迅速发展。下面我们简单总结一下 HTTP 0.9 的功能:
• 客户端 / 服务器、请求 / 响应协议;
• ASCII 协议,运行于 TCP/IP 链接之上;
• 设计用来传输超文本文档(HTML);
• 服务器与客户端之间的连接在每次请求之后都会关闭。
Apache 和 Nginx 等流行的 Web 服务器至今仍然支持 HTTP 0.9,部分原
因是支持它不费什么事儿!如果你感到好奇,可以打开 Telnet 终端,通过
HTTP 0.9 访问 google.com 或其他你熟悉的网站,观察一下这个早期协议
的行为和局限性。
9.2 HTTP 1.0:迅速发展及参考性RFC
1991 年到 1995 年,HTML 规范和一种新型的名叫“Web 浏览器”的软件都获得了
快速发展。与此同时,面向消费者的公共互联网基础设施,也日渐兴起并迅速发展
起来。
136 | 第 9 章