前言

对所有程序员而言,Web浏览器是今天部署最为广泛的应用平台。每一部智能手机,每一台平板、笔记本和桌面电脑,以及介于这些之间的其他设备,都安装了Web浏览器。据预测,到2020年,能上网的设备将突破200亿部,其中每一部都会安装浏览器,而且最低限度都会支持Wi-Fi或蜂窝连接。至于运行的是什么平台,设备是谁制造的,操作系统是哪个版本,都无所谓,反正每部设备都会带一个浏览器。就是这个浏览器,它的功能正变得越来越强大。

回首从前,那时的浏览器与现在我们使用的浏览器完全不能同日而语。浏览器革命还是最近几年的事:HTML和CSS构成表现层,JavaScript则成为Web上的新“汇编”语言,而新的HTML5 API仍在不断改进,致力于为交付吸引人的高性能应用提供新功能。可以说,有史以来还没有哪项技术或平台,在部署或装机率方面能和今天的浏览器相提并论。所以,这里有无限的机会,创新也无处不在。

而且,浏览器中网络基础设施的快速发展与创新,同样是天下无敌。过去,我们能实现的交互仅限于简单的HTTP请求和响应;如今,高效的流式传输、双向实时通信,以及交付自定义协议,甚至端到端视频会议和两端之间直接交换数据,都已经成为现实。而且,所有这些只不过是几十行JavaScript代码的事儿。

然后呢?几十亿设备互联,已有和新在线服务吸引的用户越来越多,只有高性能Web应用才谈得上竞争力。速度是关键!事实上,对某些应用来说,速度决定命运。要开发出高性能的Web应用,必须透彻理解浏览器及其网络交互机制,而这正是本书的主题。

关于本书

本书目标是涵盖开发者应该掌握的所有网络知识:网络开发中要用到哪些协议,这些协议有什么固有的局限性,如何针对底层网络优化自己的应用,浏览器提供了哪些网络相关的功能,以及什么时候需要用到它们。

我们将从TCP、UDP和TLS协议的内部工作原理讲起,向大家解释如何针对这几种协议和基础设施来优化我们的应用。然后深入地探讨无线和移动网络的工作机制,以无线电为媒介的通信可大不一样。对此,我们将围绕如何设计和架构应用,讨论它们各自的痛点所在。最后,我们再揭示HTTP协议的底层细节,同时详细介绍浏览器新增的一些令人激动的能力:

· 即将到来的HTTP 2.0的诸多改进;

· XHR的新特性和新功能;

· 通过SSE发送数据流;

· 通过WebSocket实现双向通信;

· 通过WebRTC实现端到端的音频和视频通信;

· 通过DataChannel实现端到端的数据交换。

要设计和开发高性能的应用,必须理解每一位数据是如何交付的,必须理解每一种传输机制和相关协议的特点。毕竟,等待网络是我们应用最大的性能瓶颈,再怎么优化渲染JavaScript或其他方面,也抵不上网络优化!本书的目标就是告诉读者怎么消除等待时间,利用现有网络实现最大的性能优化。

本书全面介绍了Web性能优化的知识和技术,适合对构建和交付高性能应用感兴趣的所有读者。简单地说,如果你不满足于那些枯燥的检查表,而更希望知晓浏览器乃至底层协议的真实工作过程,就应该读一读这本书。本书既会对配置和架构给出实用建议,也会探讨为达成优化目标而必须考虑的因素和权衡的要点,既讲“怎么办”,也讲“为什么”。

本书重点讨论与浏览器应用相关的各种协议及特性。不过,关于TCP、UDP、TLS、HTTP,乃至其他每一种协议的讨论,同样也适用于本地应用,而且不局限于任何平台。

排版约定

本书使用的排版约定如下。

· 楷体

表示新的术语。

· 等宽字体

表示程序片段,也用于在正文中表示程序中使用的变量、函数名、命令行代码、环境变量、语句和关键词等代码文本。

· 加粗的等宽字体

表示应该由用户逐字输入的命令或者其他文本。

· 倾斜的等宽字体

表示应该由用户输入的值或根据上下文决定的值替换的文本。

这个图标代表小窍门、建议或说明。

这个图标代表警告信息。

Safari® Books Online

Safari Books Online(http://www.safaribooksonline.com)是应需而变的数字图书馆。它同时以图书和视频的形式出版世界顶级技术和商务作家的专业作品。

Safari Books Online是技术专家、软件开发人员、Web设计师、商务人士和创意人士开展调研、解决问题、学习和认证培训的第一手资料。

对于组织团体、政府机构和个人,Safari Books Online提供各种产品组合和灵活的定价策略。用户可通过一个功能完备的数据库检索系统访问O'Reilly Media、Prentice Hall Professional、Addison-Wesley Professional、Microsoft Press、Sams、Que、Peachpit Press、Focal Press、Cisco Press、John Wiley & Sons、Syngress、Morgan Kaufmann、IBM Redbooks、Packt、Adobe Press、FT Press、Apress、Manning、New Riders、McGraw-Hill、Jones & Bartlett、Course Technology以及其他几十家出版社的上千种图书、培训视频和正式出版之前的书稿。要了解Safari Books Online的更多信息,我们网上见。

联系我们

请把对本书的评价和发现的问题发给出版社。

美国:

O'Reilly Media, Inc.

1005 Gravenstein Highway North

Sebastopol, CA 95472

中国:

北京市西城区西直门南大街2号成铭大厦C座807室(100035)

奥莱利技术咨询(北京)有限公司

O'Reilly的每一本书都有专属网页,你可以在那儿找到本书的相关信息,包括勘误表、示例代码以及其他信息。本书的网站地址是:

http://shop.oreilly.com/product/0636920028084.do

对于本书的评论和技术性问题,请发送电子邮件到:

bookquestions@oreilly.com

要了解更多O'Reilly图书、培训课程、会议和新闻的信息,请访问以下网站:

http://www.oreilly.com

我们在Facebook的地址如下:

http://facebook.com/oreilly

请关注我们的Twitter动态:

http://twitter.com/oreillymedia

我们的YouTube视频地址如下:

http://www.youtube.com/oreillymedia