Page 159 - Web性能权威指南
P. 159
10.1 超文本、网页和Web应用
互联网在过去几十年的发展过程中,至少带给了我们三种体验:超文本文档、富媒
体网页和交互式 Web 应用。不可否认,后两种之间的界限有时候对用户来说很模
糊,但从性能的角度看,这几种形式都要求我们在讨论问题、测量和定义性能时采
取不同的手段。
• 超文本文档
万维网就起源于超文本文档,一种只有基本格式,但支持超链接的纯文本文档。
按照现代眼光来看,这种文档或许没什么值得大惊小怪的,但它验证了万维网的
假设、前景及巨大的实用价值。
• 富媒体网页
HTML 工作组和早期的浏览器开发商扩展了超文本,使其支持更多的媒体,如图
片和音频,同时也为丰富布局增加了很多手段。网页时代到来了,我们可以基于
不同的媒体构建可见的页面布局了。但网页还只是看起来漂亮,很大程度上没有
交互功能,与可打印的页面没有区别。
• Web应用
JavaScript 及后来 DHTML 和 Ajax 的加入,再一次革命了 Web,把简单的网页
转换成了交互式 Web 应用。Web 应用可以在浏览器中直接响应用户操作。于是,
Outlook Web Access(IE5 中的 XMLHTTP 就诞生于这个应用)等最早的、成熟的浏
览器应用出现,也揭开了脚本、样式表和标记文档之间复杂依赖的新时代。
HTTP 0.9 会话由一个文档请求构成,这对于取得超文本内容完全够用了:一个文
档、一个 TCP 连接,然后关闭连接。因此,提升性能就是围绕短期 TCP 连接优化
一次 HTTP 请求。
富媒体网页的出现改变了这个局面,因为一个简单的文档,变成了文档加依赖资
源。因此,HTTP 1.0 引入了 HTTP 元数据的表示法(首部),HTTP 1.1 又加入了各
种旨在提升性能的机制,如缓存、持久连接,等等。事实上,多 TCP 连接目前仍然
存在,性能的关键指标已经从文档加载时间,变成了页面加载时间,常简写为 PLT
(Page Load Time)。
PLT 的简单定义就是:“浏览器中的加载旋转图标停止旋转的时间。”更技
术的定义则是浏览器中的 onload 事件,这个事件由浏览器在文档及其所
有依赖资源(JavaScript、图片,等等)下载完毕时触发。
144 | 第 10 章