Web性能權威指南是谷歌公司高性能團隊核心成員的權威之作,堪稱實戰經驗與規範解讀完美結合的產物。《Web性能權威指南》目標是涵蓋Web開發者技術體系中應該掌握的所有網路及性能優化知識。全書以性能優化為主線,從TCP、UDP和TLS協議講起,解釋瞭如何針對這幾種協議和基礎設施來優化應用。然後深入探討了 ...
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 性能檢查表