Page 238 - Web性能权威指南
P. 238
第 1 5 章
XMLHttpRequest
XMLHttpRequest(XHR) 是 浏 览 器 层 面 的 API, 可 以 让 开 发 人 员 通 过 JavaScript
实 现 数 据 传 输。XHR 是 在 Internet Explorer 5 中 首 次 亮 相 的, 后 来 成 为 AJAX
(Asynchronous JavaScript and XML)革命的核心技术,是今天几乎所有 Web 应用
必不可少的基本构件。
XMLHTTP 改变了一切。它让 DHTML 中的 D 变得名副其实。它让我们能异
步从服务器获取数据,同时在客户端保持文档状态……Outlook Web Access
(OWA)团队希望在浏览器中构建一个类似 Win32 应用的想法使其得以进入
IE,而这才有了后来的 AJAX。
——Jim Van Eaton
Outlook Web Access: A catalyst for web evolution
XHR 诞生前,网页要获取客户端和服务器的任何状态更新,都必须刷新一次。有了
XHR,这个过程就可以异步实现,而且完全通过应用的 JavaScript 代码完成。XHR
是让我们从制作网页转换为开发交互应用的根本技术。
然而,XHR 的能力不仅仅表现在能实现浏览器的异步通信,还表现在它极大地简化
了这个异步通信过程。XHR 是浏览器提供的应用 API,这就意味着浏览器会自动帮
我们完成所有底层的连接管理、协议协商、HTTP 请求格式化,以及更多工作:
• 浏览器管理着连接建立、套接字池和连接终止;
• 浏览器决定最佳的 HTTP(S)传输协议(HTTP 1.0、1.x 和 2.0);
• 浏览器处理 HTTP 缓存、重定向和内容类型协商;
225