Web性能权威指南是谷歌公司高性能团队核心成员的权威之作,堪称实战经验与规范解读完美结合的产物。《Web性能权威指南》目标是涵盖Web开发者技术体系中应该掌握的所有网络及性能优化知识。全书以性能优化为主线,从TCP、UDP和TLS协议讲起,解释了如何针对这几种协议和基础设施来优化应用。然后深入探讨了无线和移动网络的工作机制。最后,揭示了HTTP协议的底层细节,同时详细介绍了HTTP 2.0、 XHR、SSE、WebSocket、WebRTC和DataChannel等现代浏览器新增的具有革命性的新能力。
《Web性能权威指南》适合所有Web应用及站点开发人员阅读,包括但不限于前端、后端、运维、大数据分析、UI/UX、存储、视频、实时消息,以及性能工程师。
教程地址:Web性能权威指南 PDF扫描版
Web性能权威指南 目录:
Steve Souders推荐序
前言 XV
第一部分 网络技术概览
第1章 延迟与带宽
1 1 速度是关键
1 2 延迟的构成
1 3 光速与传播延迟
1 4 延迟的最后一公里
1 5 网络核心的带宽
1 6 网络边缘的带宽
1 7 目标:高带宽和低延迟
第2章 TCP的构成
2 1 三次握手
2 2 拥塞预防及控制
2 2 1 流量控制
2 2 2 慢启动
2 2 3 拥塞预防
2 3 带宽延迟积
2 4 队首阻塞
2 5 针对TCP的优化建议
2 5 1 服务器配置调优
2 5 2 应用程序行为调优
2 5 3 性能检查清单
第3章 UDP的构成
3 1 无协议服务
3 2 UDP与网络地址转换器
3 2 1 连接状态超时
3 2 2 NAT穿透
3 2 3 STUN、TURN与ICE
3 3 针对UDP的优化建议
第4章 传输层安全(TLS)
4 1 加密、身份验证与完整性
4 2 TLS握手
4 2 1 应用层协议协商(ALPN)
4 2 2 服务器名称指示(SNI)
4 3 TLS会话恢复
4 3 1 会话标识符
4 3 2 会话记录单
4 4 信任链与证书颁发机构
4 5 证书撤销
4 5 1 证书撤销名单(CRL)
4 5 2 在线证书状态协议(OCSP)
4 6 TLS记录协议
4 7 针对TLS的优化建议
4 7 1 计算成本
4 7 2 尽早完成(握手)
4 7 3 会话缓存与无状态恢复
4 7 4 TLS记录大小
4 7 5 TLS压缩
4 7 6 证书链的长度
4 7 7 OCSP封套
4 7 8 HTTP严格传输安全(HSTS)
4 8 性能检查清单
4 9 测试与验证
第二部分 无线网络性能
第5章 无线网络概览
5 1 无所不在的连接
5 2 无线网络的类型
5 3 无线网络的性能基础
5 3 1 带宽
5 3 2 信号强度
5 3 3 调制
5 4 测量现实中的无线性能
第6章 Wi-Fi
6 1 从以太网到无线局域网
6 2 Wi-Fi标准及功能
6 3 测量和优化Wi-Fi性能
6 4 针对Wi-Fi的优化建议
6 4 1 利用不计流量的带宽
6 4 2 适应可变带宽
6 4 3 适应可变的延迟时间
第7章 移动网络
7 1 G字号移动网络简介
7 1 1 最早提供数据服务的2G
7 1 2 3GPP与3GPP2
7 1 3 3G技术的演进
7 1 4 IMT-Advanced的4G要求
7 1 5 长期演进(LTE)
7 1 6 HSPA+推进世界范围内的4G普及
7 1 7 为多代并存的未来规划
7 2 设备特性及能力
7 3 无线电资源控制器(RRC)
7 3 1 3G、4G和Wi-Fi对电源的要求
7 3 2 LTE RRC状态机
7 3 3 HSPA与HSPA+(UMTS)RRC状态机
7 3 4 EV-DO(CDMA) RRC状态机
7 3 5 低效率的周期性传输
7 4 端到端的运营商架构
7 4 1 无线接入网络(RAN)
7 4 2 核心网络
7 4 3 回程容量与延迟
7 5 移动网络中的分组流
7 5 1 初始化请求
7 5 2 入站数据流
7 6 异质网络(HetNet)
7 7 真实的3G、4G和Wi-Fi性能
第8章 移动网络的优化建议
8 1 节约用电
8 2 消除周期性及无效的数据传输
8 3 预测网络延迟上限
8 3 1 考虑RRC状态切换
8 3 2 解耦用户交互与网络通信
8 4 面对多网络接口并存的现实
8 5 爆发传输数据并转为空闲
8 6 把负载转移到Wi-Fi网络
8 7 遵从协议和应用最佳实践
第三部分 HTTP
第9章 HTTP简史
9 1 HTTP 0 9:只有一行的协议
9 2 HTTP 1 0:迅速发展及参考性RFC
9 3 HTTP 1 1:互联网标准
9 4 HTTP 2 0:改进传输性能
第10章 Web性能要点
10 1 超文本、网页和Web应用
10 2 剖析现代Web应用
10 2 1 速度、性能与用户期望
10 2 2 分析资源瀑布
10 3 性能来源:计算、渲染和网络访问
10 3 1 更多带宽其实不(太)重要
10 3 2 延迟是性能瓶颈
10 4 人造和真实用户性能度量
10 5 针对浏览器的优化建议
第11章 HTTP 1 x
11 1 持久连接的优点
11 2 HTTP管道
11 3 使用多个TCP连接
11 4 域名分区
11 5 度量和控制协议开销
11 6 连接与拼合
11 7 嵌入资源
第12章 HTTP 2 0
12 1 历史及其与SPDY的渊源
12 2 走向HTTP 2 0
12 3 设计和技术目标
12 3 1 二进制分帧层
12 3 2 流、消息和帧
12 3 3 多向请求与响应
12 3 4 请求优先级
12 3 5 每个来源一个连接
12 3 6 流量控制
12 3 7 服务器推送
12 3 8 首部压缩
12 3 9 有效的HTTP 2 0升级与发现
12 4 二进制分帧简介
12 4 1 发起新流
12 4 2 发送应用数据
12 4 3 HTTP 2 0帧数据流分析
第13章 优化应用的交付
13 1 经典的性能优化最佳实践
13 1 1 在客户端缓存资源
13 1 2 压缩传输的数据
13 1 3 消除不必要的请求字节
13 1 4 并行处理请求和响应
13 2 针对HTTP 1 x的优化建议
13 3 针对HTTP 2 0的优化建议
13 3 1 去掉对1 x的优化
13 3 2 双协议应用策略
13 3 3 1 x与2 0的相互转换
13 3 4 评估服务器质量与性能
13 3 5 2 0与TLS
13 3 6 负载均衡器、代理及应用服务器
第四部分 浏览器API与协议
第14章 浏览器网络概述
14 1 连接管理与优化
14 2 网络安全与沙箱
14 3 资源与客户端状态缓存
14 4 应用API与协议
第15章 XMLHttpRequest
15 1 XHR简史
15 2 跨源资源共享(CORS)
15 3 通过XHR下载数据
15 4 通过XHR上传数据
15 5 监控下载和上传进度
15 6 通过XHR实现流式数据传输
15 7 实时通知与交付
15 7 1 通过XHR实现轮询
15 7 2 通过XHR实现长轮询
15 8 XHR使用场景及性能
第16章 服务器发送事件
16 1 EventSource API
16 2 Event Stream协议
16 3 SSE使用场景及性能
第17章 WebSocket
17 1 WebSocket API
17 1 1 WS与WSS
17 1 2 接收文本和二进制数据
17 1 3 发送文本和二进制数据
17 1 4 子协议协商
17 2 WebSocket协议
17 2 1 二进制分帧层
17 2 2 协议扩展
17 2 3 HTTP升级协商
17 3 WebSocket使用场景及性能
17 3 1 请求和响应流
17 3 2 消息开销
17 3 3 数据效率及压缩
17 3 4 自定义应用协议
17 3 5 部署WebSocket基础设施
17 4 性能检查表
第18章 WebRTC
18 1 标准和WebRTC的发展
18 2 音频和视频引擎
18 3 实时网络传输
18 4 建立端到端的连接
18 4 1 发信号和协商会话
18 4 2 会话描述协议(SDP)
18 4 3 交互连接建立(ICE)
18 4 4 增量提供(Trickle ICE)
18 4 5 跟踪ICE收集和连接状态
18 4 6 完整的示例
18 5 交付媒体和应用数据
18 5 1 通过DTLS实现安全通信
18 5 2 通过SRTP和SRTCP交付媒体
18 5 3 通过SCTP交付应用数据
18 6 DataChannel
18 6 1 设置与协商
18 6 2 配置消息次序和可靠性
18 6 3 部分可靠交付与消息大小
18 7 WebRTC使用场景及性能
18 7 1 音频、视频和数据流
18 7 2 多方通信架构
18 7 3 基础设施及容量规划
18 7 4 数据效率及压缩
18 8 性能检查表