Page 153 - Web性能权威指南
P. 153
Content-Type: text/plain
Content-Length: 137582
Expires: Thu, 01 Dec 1997 16:00:00 GMT
Last-Modified: Wed, 1 May 1996 12:45:26 GMT
Server: Apache 0.84
(纯文本响应)
(连接关闭)
➊ 请求行中包含 HTTP 版本号,随后是请求首部
➋ 响应状态,后跟响应首部
上面列出的交换信息并未展示出 HTTP 1.0 的所有功能,但却能说明该协议的关键
变化:
• 请求可以由于多行首部字段构成;
• 响应对象前面添加了一个响应状态行;
• 响应对象也有自己的由换行符分隔的首部字段;
• 响应对象不局限于超文本;
• 服务器与客户端之间的连接在每次请求之后都会关闭。
请求和响应首部都使用 ASCII 编码,但响应对象本身可以是任何类型:HTML 文
件、纯文本文件、图片,或其他内容类型。事实上,HTTP 中的“HTT”(Hypertext
Transfer,超文本传输)在协议出现后不久就已经用词不当了。在实践中,HTTP 迅
速发展为超媒体传输协议,但最初的名字则沿用至今。
除了媒体类型协商,RFC 还解释了很多已经被实现的其他功能:内容编码、字符集
支持、多部分类型、认证、缓存、代理行为、日期格式,等等。
今天,几乎所有 Web 服务器都支持,而且以后还会继续支持 HTTP 1.0。除
此之外,剩下的你都知道了。但 HTTP 1.0 对每个请求都打开一个新 TCP
连接严重影响性能,这一点可以参考 2.1 节“三次握手”和 2.2.2 节“慢启
动”。
9.3 HTTP 1.1:互联网标准
将 HTTP 转为 IETF 正式互联网标准的工作,与通过 RFC 1945 说明解释 HTTP 1.0
是并行展开的,从 1995 年到 1999 年,大致经历了 4 年时间。事实上,就在 HTTP
1.0 发布大约 6 个月之后,也就是 1997 年 1 月,定义正式 HTTP 1.1 标准的 RFC
2068 也发布了。又过了两年半,即到了 1999 年 6 月 RFC 2616 发布,又在标准中
集合了很多改进和更新。
138 | 第 9 章