Web性能權威指南

Web性能權威指南

《Web性能權威指南》是谷歌公司高性能團隊核心成員的權威之作,堪稱實戰經驗與規範解讀完美結合的產物。《Web性能權威指南》目標是涵蓋Web開發者技術體系中應該掌握的所有網路及性能最佳化知識。全書以性能最佳化為主線,從TCP、UDP和TLS協定講起,解釋了如何針對這幾種協定和基礎設施來最佳化套用。然後深入探討了無線和行動網路的工作機制。最後,揭示了HTTP協定的底層細節,同時詳細介紹了HTTP 2.0、 XHR、SSE、WebSocket、WebRTC和DataChannel等現代瀏覽器新增的具有革命性的新能力。 《Web性能權威指南》適合所有Web套用及站點開發人員閱讀,包括但不限於前端、後端、運維、大數據分析、UI/UX、存儲、視頻、實時訊息,以及性能工程師。

基本介紹

內容簡介

《Web性能權威指南》適合所有Web套用及站點開發人員閱讀,包括但不限於前端、後端、運維、大數據分析、UI/UX、存儲、視頻、實時訊息,以及性能工程師。

作者簡介

作者:(加拿大)格里高利克(Grigorik Ilya) 譯者:李松峰

圖書目錄

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.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 最早提供數據服務的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:只有一行的協定
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.31.x與2.0的相互轉換
13.3.4 評估伺服器質量與性能
13.3.52.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 性能檢查表
關於封面

相關詞條

熱門詞條

聯絡我們