 
			 
				怎么才能让Web应用速度快、效率高?本书为所有关心这个问题的人提供了必须知道的网络知识,既包括影响性能的最基本因素,也包括那些能让我们创造更强大Web应用的重要技术革新,比如HTTP 2.0、XHR的改进、服务器发送事件(SSE)、WebSocket和WebRTC等。
Steve Souders推荐序 XIII
前言 XV
第一部分 网络技术概览
第1章 延迟与带宽 3
1.1 速度是关键 3
1.2 延迟的构成 4
1.3 光速与传播延迟 6
1.4 延迟的最后一公里 7
1.5 网络核心的带宽 8
1.6 网络边缘的带宽 9
1.7 目标:高带宽和低延迟 10
第2章 TCP的构成 13
2.1 三次握手 14
2.2 拥塞预防及控制 16
2.2.1 流量控制 16
2.2.2 慢启动 18
2.2.3 拥塞预防 24
2.3 带宽延迟积 25
2.4 队首阻塞 27
2.5 针对TCP的优化建议 28
2.5.1 服务器配置调优 29
2.5.2 应用程序行为调优 30
2.5.3 性能检查清单 30
第3章 UDP的构成 31
3.1 无协议服务 32
3.2 UDP与网络地址转换器 34
3.2.1 连接状态超时 35
3.2.2 NAT穿透 36
3.2.3 STUN、TURN与ICE 37
3.3 针对UDP的优化建议 39
第4章 传输层安全(TLS) 41
4.1 加密、身份验证与完整性 42
4.2 TLS握手 44
4.2.1 应用层协议协商(ALPN) 46
4.2.2 服务器名称指示(SNI) 47
4.3 TLS会话恢复 48
4.3.1 会话标识符 48
4.3.2 会话记录单 49
4.4 信任链与证书颁发机构 50
4.5 证书撤销 52
4.5.1 证书撤销名单(CRL) 53
4.5.2 在线证书状态协议(OCSP) 54
4.6 TLS记录协议 54
4.7 针对TLS的优化建议 55
4.7.1 计算成本 55
4.7.2 尽早完成(握手) 56
4.7.3 会话缓存与无状态恢复 58
4.7.4 TLS记录大小 59
4.7.5 TLS压缩 60
4.7.6 证书链的长度 61
4.7.7 OCSP封套 62
4.7.8 HTTP严格传输安全(HSTS) 62
4.8 性能检查清单 63
4.9 测试与验证 64
第二部分 无线网络性能
第5章 无线网络概览 69
5.1 无所不在的连接 69
5.2 无线网络的类型 70
5.3 无线网络的性能基础 71
5.3.1 带宽 71
5.3.2 信号强度 74
5.3.3 调制 75
5.4 测量现实中的无线性能 76
第6章 Wi-Fi 79
6.1 从以太网到无线局域网 79
6.2 Wi-Fi标准及功能 81
6.3 测量和优化Wi-Fi性能 81
6.4 针对Wi-Fi的优化建议 84
6.4.1 利用不计流量的带宽 84
6.4.2 适应可变带宽 85
6.4.3 适应可变的延迟时间 86
第7章 移动网络 87
7.1 G字号移动网络简介 87
7.1.1 最早提供数据服务的2G 88
7.1.2 3GPP与3GPP2 89
7.1.3 3G技术的演进 91
7.1.4 IMT-Advanced的4G要求 93
7.1.5 长期演进(LTE) 94
7.1.6 HSPA+推进世界范围内的4G普及 95
7.1.7 为多代并存的未来规划 96
7.2 设备特性及能力 97
7.3 无线电资源控制器(RRC) 99
7.3.1 3G、4G和Wi-Fi对电源的要求 101
7.3.2 LTE RRC状态机 102
7.3.3 HSPA与HSPA+(UMTS)RRC状态机 104
7.3.4 EV-DO(CDMA) RRC状态机 106
7.3.5 低效率的周期性传输 107
7.4 端到端的运营商架构 108
7.4.1 无线接入网络(RAN) 108
7.4.2 核心网络 110
7.4.3 回程容量与延迟 112
7.5 移动网络中的分组流 113
7.5.1 初始化请求 113
7.5.2 入站数据流 116
7.6 异质网络(HetNet) 117
7.7 真实的3G、4G和Wi-Fi性能 119
第8章 移动网络的优化建议 121
8.1 节约用电 122
8.2 消除周期性及无效的数据传输 124
8.3 预测网络延迟上限 126
8.3.1 考虑RRC状态切换 127
8.3.2 解耦用户交互与网络通信 128
8.4 面对多网络接口并存的现实 128
8.5 爆发传输数据并转为空闲 130
8.6 把负载转移到Wi-Fi网络 131
8.7 遵从协议和应用最佳实践 131
第三部分 HTTP
第9章 HTTP简史 135
9.1 HTTP 0.9:只有一行的协议 135
9.2 HTTP 1.0:迅速发展及参考性RFC 136
9.3 HTTP 1.1:互联网标准 138
9.4 HTTP 2.0:改进传输性能 141
第10章 Web性能要点 143
10.1 超文本、网页和Web应用 144
10.2 剖析现代Web应用 146
10.2.1 速度、性能与用户期望 147
10.2.2 分析资源瀑布 148
10.3 性能来源:计算、渲染和网络访问 151
10.3.1 更多带宽其实不(太)重要 152
10.3.2 延迟是性能瓶颈 152
10.4 人造和真实用户性能度量 154
10.5 针对浏览器的优化建议 157
第11章 HTTP 1.x 161
11.1 持久连接的优点 163
11.2 HTTP管道 165
11.3 使用多个TCP连接 169
11.4 域名分区 171
11.5 度量和控制协议开销 173
11.6 连接与拼合 174
11.7 嵌入资源 177
第12章 HTTP 2.0 179
12.1 历史及其与SPDY的渊源 180
12.2 走向HTTP 2.0 181
12.3 设计和技术目标 182
12.3.1 二进制分帧层 183
12.3.2 流、消息和帧 184
12.3.3 多向请求与响应 185
12.3.4 请求优先级 186
12.3.5 每个来源一个连接 188
12.3.6 流量控制 189
12.3.7 服务器推送 190
12.3.8 首部压缩 192
12.3.9 有效的HTTP 2.0升级与发现 194
12.4 二进制分帧简介 196
12.4.1 发起新流 197
12.4.2 发送应用数据 198
12.4.3 HTTP 2.0帧数据流分析 199
第13章 优化应用的交付 201
13.1 经典的性能优化最佳实践 203
13.1.1 在客户端缓存资源 204
13.1.2 压缩传输的数据 205
13.1.3 消除不必要的请求字节 206
13.1.4 并行处理请求和响应 207
13.2 针对HTTP 1.x的优化建议 208
13.3 针对HTTP 2.0的优化建议 209
13.3.1 去掉对1.x的优化 209
13.3.2 双协议应用策略 210
13.3.3 1.x与2.0的相互转换 212
13.3.4 评估服务器质量与性能 213
13.3.5 2.0与TLS 214
13.3.6 负载均衡器、代理及应用服务器 215
第四部分 浏览器API与协议
第14章 浏览器网络概述 219
14.1 连接管理与优化 220
14.2 网络安全与沙箱 222
14.3 资源与客户端状态缓存 222
14.4 应用API与协议 223
第15章 XMLHttpRequest 225
15.1 XHR简史 226
15.2 跨源资源共享(CORS) 227
15.3 通过XHR下载数据 230
15.4 通过XHR上传数据 231
15.5 监控下载和上传进度 233
15.6 通过XHR实现流式数据传输 234
15.7 实时通知与交付 236
15.7.1 通过XHR实现轮询 237
15.7.2 通过XHR实现长轮询 238
15.8 XHR使用场景及性能 240
第16章 服务器发送事件 243
16.1 EventSource API 243
16.2 Event Stream协议 245
16.3 SSE使用场景及性能 248
第17章 WebSocket 251
17.1 WebSocket API 252
17.1.1 WS与WSS 253
17.1.2 接收文本和二进制数据 253
17.1.3 发送文本和二进制数据 255
17.1.4 子协议协商 256
17.2 WebSocket协议 257
17.2.1 二进制分帧层 258
17.2.2 协议扩展 260
17.2.3 HTTP升级协商 261
17.3 WebSocket使用场景及性能 264
17.3.1 请求和响应流 264
17.3.2 消息开销 265
17.3.3 数据效率及压缩 266
17.3.4 自定义应用协议 266
17.3.5 部署WebSocket基础设施 267
17.4 性能检查表 269
第18章 WebRTC 271
18.1 标准和WebRTC的发展 272
18.2 音频和视频引擎 272
18.3 实时网络传输 276
18.4 建立端到端的连接 280
18.4.1 发信号和协商会话 280
18.4.2 会话描述协议(SDP) 282
18.4.3 交互连接建立(ICE) 285
18.4.4 增量提供(Trickle ICE) 288
18.4.5 跟踪ICE收集和连接状态 289
18.4.6 完整的示例 291
18.5 交付媒体和应用数据 295
18.5.1 通过DTLS实现安全通信 296
18.5.2 通过SRTP和SRTCP交付媒体 298
18.5.3 通过SCTP交付应用数据 301
18.6 DataChannel 305
18.6.1 设置与协商 307
18.6.2 配置消息次序和可靠性 309
18.6.3 部分可靠交付与消息大小 311
18.7 WebRTC使用场景及性能 312
18.7.1 音频、视频和数据流 312
18.7.2 多方通信架构 313
18.7.3 基础设施及容量规划 314
18.7.4 数据效率及压缩 315
18.8 性能检查表 316
关于封面 318
  Steve Souders推荐序
  “合格的开发者知道怎么做,而优秀的开发者知道为什么那么做。”相信每一位读者看完这句话,一定打心眼儿里赞同。我们都希望自己能够理解身边的各种系统,同时还能跟别人讲得明白。然而,如果你是一名Web 开发者,那很可能距离这个目标会越来越远。
  Web 开发的分工越来越细。你在做哪一类Web 开发?前端?后端?运维?大数据分析? UI/UX ?存储? 视频?实时消息?我还想再加上一个角色——性能工程师。钻研基础知识与紧跟最新动向本身是一对矛盾,很难平衡。可是,没有基础,那只能是“墙上芦苇,头重脚轻根底浅”。光知道表面上的那点东西可不行。需要解决难题时,发生异常状况时,理解基础知识的人会脱颖而出。
  正因为如此,我才说这本书非常重要,不能不看。如果你搞的是Web 开发,那你技术体系的根基就是Web 和它赖以存在的大量网络协议:TCP、TLS、UDP、HTTP,等等。这些协议分别有各自的性能特点和优化技巧,为开发高性能应用,你必须理解为什么网络那么运行。
  说实话,我真为想读这本书的你感到庆幸!要是我刚刚接触Web 编程时有这样一本书就好了。那样,就会有一位真正理解网络的人为我释疑解惑,告诉我那些标准和规范的要点,填充我技术体系中的空白。这本书的作者Ilya Grigorik,是少见的网络编程专家,而本书堪称实战经验与规范解读完美结合的产物。
  本书中,作者解释了网络编程中的很多为什么:为什么延迟是性能瓶颈?为什么TCP 并不总是最优传输机制,而UDP 有时候反而是更好的选择?为什么重用连接是关键性的优化策略?然后,他又更进一步,给出改进网络性能的具体建议。想要降低延迟?在靠近客户端的服务器上完成会话。想要提高连接重用率?保持连接持久化。正是这种提出问题、分析问题和解决问题的模式,让本书内容极为贴近实战,接地气。
  除了全面探讨网络的基础知识,作者还详细讲解了协议和浏览器的最新进展。讲了HTTP 2.0 的诸多优点, 回顾了XHR 及其催生CORS(Cross-Origin ResourceSharing,跨源资源共享)的局限性,还有SSE(Server-Sent Events,服务器发送事件)、WebSockets 和WebRTC。让我们彻底跟上了浏览器网络技术栈的最新进展。
  从性能角度分析,基础和最新进展是本书特色,也是本书贯穿始终的主线。正是性能这个视角,让我们理解了网络开发中的那么多为什么,明白了这些东西怎么影响我们的网站和用户。本书把抽象的规范变成了可操作的建议,让我们可以马上学以致用去优化网站,去创造最佳用户体验。这才是最重要的。所以,一定不要错过这本书!
  Steve Souders
  世界级Web 性能专家、谷歌公司高性能工程师
  《高性能网站建设指南》等畅销书作者
这本书的印刷质量真是令人惊叹,纸张厚实,触感温润,翻页时的沙沙声更是带来一种久违的阅读仪式感。封面设计简洁大气,采用了深邃的蓝色调,点缀着银色的线条,仿佛夜空中闪烁的星辰,又似数据流的奔腾,恰如其分地烘托了“Web性能”这一主题的专业与深度。书脊处的烫金字体清晰有力,即使摆放在书架上也毫不失品味。我尤其欣赏的是其排版设计,字体大小适中,行间距合理,阅读起来非常舒适,长时间沉浸在书中也不会感到眼部疲劳。图文并茂的设计更是点睛之笔,那些精美的图表和示意图,将抽象的技术概念具象化,让我能够更直观地理解那些复杂的原理。例如,书中对CDN工作原理的插图,就用简洁的动画流程图清晰地展示了请求的路径和数据缓存的过程,这比纯文字的描述要有效得多。细节之处也做得非常到位,扉页上的版权信息、目录的清晰索引、甚至连页脚的页码设计都经过了精心考量。整体而言,这本书的装帧设计就如同一件精美的工艺品,不仅提供了高质量的阅读体验,也彰显了作者和出版方对细节的极致追求,让人在翻阅过程中就能感受到一种专业的态度和匠心精神。
评分初次接触这本书,我仿佛踏入了一个宏大的技术殿堂,耳边回响着的是无数关于速度、效率和用户体验的讨论。虽然我还没来得及逐字逐句地研读,但从其目录和章节标题的脉络中,我窥见了作者在Web性能领域深厚的功底和广阔的视野。我猜想,书中一定涵盖了从客户端到服务器端,再到网络传输的每一个关键节点上的优化技巧。或许,它会详细讲解如何通过精简HTTP请求、优化图片和字体资源、利用代码分割和延迟加载等前端技术,显著缩短页面的首屏加载时间。而对于后端,它可能还会深入探讨数据库查询的优化、API设计的最佳实践、以及如何构建高效的服务器架构来应对高并发流量。更令人期待的是,书中或许还会涉及更高级的性能监控和分析工具的使用方法,例如Google Lighthouse、WebPageTest等,帮助开发者量化性能瓶颈,并提供数据驱动的优化方向。这本书的出现,对我来说,就像一位经验丰富的技术向导,能够指引我在错综复杂的Web性能优化道路上,找到最有效、最直接的路径,避免走弯路,最终实现极致的用户体验。
评分我非常喜欢这本书的思考维度,它似乎不仅仅停留在“更快”这个简单的层面上,而是更深入地探讨了“为什么”和“如何”的哲学。我相信,书中会引导读者去理解用户在感知性能上的微妙之处,例如感知加载速度、交互响应的流畅度,以及这些因素如何直接影响用户留存率和转化率。作者可能还会强调“可维护性”和“可持续性”的重要性,教导我们如何在追求极致性能的同时,不牺牲代码的可读性和项目的长期发展。我预想,书中可能会用大量的案例分析来佐证每一个性能优化策略的实际效果,甚至会对比不同优化方案的优劣,让读者能够根据实际情况做出最优选择。这可能包括对于一些“听起来很美”的优化手段的审慎评估,避免盲目跟风,而是基于数据和实际业务需求来决策。此外,我非常期待书中能够提供一些关于性能测试自动化和持续集成/持续部署(CI/CD)中性能保障的实践经验。毕竟,一次性的优化是远远不够的,持续的监控和迭代才是保持高性能的关键。这本书,在我看来,将不仅仅是一本技术手册,更是一本关于如何构建高性能、可持续、用户至上的Web应用的“思想指南”。
评分这本书给我的第一印象是,它非常“接地气”。我感觉作者并没有仅仅停留在理论的空中楼阁,而是花了大量的篇幅去深入到Web性能优化的每一个具体环节,并且提供了非常实操性的指导。从我快速浏览到的部分来看,它可能深入讲解了如何利用浏览器开发者工具进行性能瓶颈的诊断,例如通过Network面板分析请求瀑布图,通过Performance面板检测CPU和内存占用,通过Audits面板进行自动化评估。我甚至能想象到,书中可能会提供一系列“性能体检清单”,帮助开发者系统地检查自己的网站是否存在常见性能问题,并给出具体的修复建议。而且,我预期书中还会探讨一些针对不同场景的优化策略,比如对于内容型网站、电商网站、或者重交互的单页应用,它们的性能优化重点可能会有所不同,作者会针对这些差异给出个性化的解决方案。更重要的是,我期待书中能够解释这些优化背后的原理,而不是简单地罗列“做什么”,而是让我们理解“为什么这么做”。这种深入浅出的讲解方式,对于我们这些在实际工作中需要解决性能问题的开发者来说,无疑是雪中送炭,能够帮助我们真正掌握Web性能优化的核心能力,而不是仅仅停留在“知道”的层面。
评分拿到这本书的瞬间,我被它沉甸甸的分量所吸引,这可不是一本空洞的“速成”读物,而是一本充满扎实内容和深度见解的“硬核”著作。从我粗略翻阅的章节来看,作者似乎对Web性能的各个方面都有着极其详尽的剖析。我特别注意到,书中可能涉及到了诸如HTTP/2和HTTP/3的协议优化、前端资源的懒加载和预加载策略、服务端渲染(SSR)与客户端渲染(CSR)的权衡、以及各种缓存机制的应用(如浏览器缓存、CDN缓存、服务期缓存)等等。每一个细分领域,作者似乎都进行了深入的挖掘,甚至可能触及到了底层的网络原理和浏览器渲染机制。我预感,这本书将会提供一系列行之有效的解决方案,帮助开发者们解决那些困扰已久的技术难题,将网站的加载速度提升到一个新的水平。我期待书中能够提供一些实用的代码示例和配置指南,让我能够立即上手实践,将学到的知识转化为生产力。同时,我也好奇作者是如何组织这些庞杂的知识体系的,是按照性能瓶颈的类型来划分,还是按照优化的层级来递进?无论如何,这种“全景式”的、深入骨髓的讲解方式,无疑是每一个对Web性能有追求的开发者梦寐以求的。
评分感觉这本书太好了,讲了好多网络的知识
评分好书,正在研究性能测试
评分留着随时翻看
评分专业必备,送货快 纸张好,每天看看
评分讲的不错,就是不懂。。
评分公司技术学习使用
评分很给力,京东商品很靠谱,而且价格公道,品质放心
评分书质量不错,是正版,内容也不错
评分还不错的,相信京东
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.teaonline.club All Rights Reserved. 图书大百科 版权所有