內容簡介
《Web性能權威指南》適合所有Web套用及站點開發人員閱讀,包括但不限於前端、後端、運維、大數據分析、UI/UX、存儲、視頻、實時訊息,以及性能工程師。
《Web性能權威指南》是谷歌公司高性能團隊核心成員的權威之作,堪稱實戰經驗與規範解讀完美結合的產物。《Web性能權威指南》目標是涵蓋Web開發者技術體系中應該掌握的所有網路及性能最佳化知識。全書以性能最佳化為主線,從TCP、UDP和
TLS協定講起,解釋了如何針對這幾種協定和基礎設施來最佳化套用。然後深入探討了無線和行動網路的工作機制。最後,揭示了
HTTP協定的底層細節,同時詳細介紹了HTTP 2.0、 XHR、SSE、WebSocket、WebRTC和DataChannel等現代瀏覽器新增的具有革命性的新能力。《Web性能權威指南》適合所有Web套用及站點開發人員閱讀,包括但不限於前端、後端、運維、大數據分析、UI/UX、存儲、視頻、實時訊息,以及性能工程師。
圖書目錄
Steve Souders推薦序
前言
第一部分 網路技術概覽
第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.3 STUN、TURN與ICE
3.3 針對UDP的最佳化建議
第4章 傳輸層安全(TLS)
4.1 加密、身份驗證與完整性
4.2 TLS握手
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.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.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 最早提供數據服務的G
7.1.23GPP與3GPP2
7.1.33G技術的演進
7.1.4 IMT—Advanced的4G要求
7.1.5 長期演進(LTE)
7.1.6 HSPA+推進世界範圍內的G普及
7.1.7 為多代並存的未來規劃
7.2 設備特性及能力
7.3 無線電資源控制器(RRC)
7.3.13G、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:只有一行的協定
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.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 性能檢查表
關於封面
作者簡介
作者:(加拿大)格里高利克(Grigorik Ilya) 譯者:李松峰