中文版推薦序一:等待與希望 ..ix
中文版推薦序二 ..xiii
序 ..xv
前言 ..xvii
第 1章 HTTP進化史..1
1.1 HTTP/0.9和HTTP/1.0 ..2
1.2 HTTP/1.1 ..2
1.3 1.1版本之后 ..3
1.4 SPDY ..4
1.5 HTTP/2 ..4
第 2章 HTTP/2 快速入門 ..5
2.1 啟動并運行 ..5
2.2 獲取證書 ..6
2.2.1 使用在線證書生成器 ..6
2.2.2 自簽名證書 ..6
2.2.3 Let’s Encrypt ..6
2.3 獲取并運行你的第一個HTTP/2服務器 ..7
2.4 選擇瀏覽器 ..8
第3章 Web優(yōu)化“黑魔法”的動機與方式 ..9
3.1 當前的性能挑戰(zhàn) ..9
3.1.1 剖析Web 頁面請求..9
3.1.2 關鍵性能指標 ..11
3.1.3 HTTP/1 的問題 ..14
3.2 Web 性能優(yōu)化技術 ..17
3.2.1 Web 性能的最佳實踐 .18
3.2.2 反模式 ..24
3.3 小結 ..25
第4 章 HTTP/2 遷移 ..27
4.1 瀏覽器的支持情況 ..27
4.2 遷移到TLS ..28
4.3 撤銷針對HTTP/1.1 的“優(yōu)化”..30
4.4 第三方資源 ..31
4.5 支持舊版本客戶端 ...32
4.6 小結 ...32
第5 章 HTTP/2 協(xié)議...33
5.1 HTTP/2 分層 ..33
5.2 連接 ..34
5.3 幀 ..35
5.4 流 ..38
5.4.1 消息 ...39
5.4.2 流量控制 ...41
5.4.3 優(yōu)先級 ..42
5.5 服務端推送 ...43
5.5.1 推送對象 ..43
5.5.2 選擇要推送的資源 ..44
5.6 首部壓縮 ...45
5.7 線上傳輸 ...47
5.8 小結 ....52
第6 章 HTTP/2 性能 ..53
6.1 客戶端實現(xiàn) ..53
6.2 延遲 ..54
6.3 丟包 ..57
6.4 服務端推送 ..59
6.5 首字節(jié)時間...60
6.6 第三方資源 ..62
6.7 HTTP/2 反模式..66
6.7.1 域名拆分 ..66
6.7.2 資源內聯(lián) ..67
6.7.3 資源合并..67
6.7.4 禁用cookie 的域名..67
6.7.5 生成精靈圖 ..67
6.7.6 資源預取 ..68
6.8 現(xiàn)實情況中的性能 ..68
6.8.1 性能測量方法論 ..68
6.8.2 案例1:www.facebook.com ..69
6.8.3 案例2:www.yahoo.com..71
6.9 小結....75
第7 章 HTTP/2 實現(xiàn)..75
7.1 桌面Web 瀏覽器 ..75
7.1.1 只支持TLS 版 ..75
7.1.2 禁用HTTP/2 ..76
7.1.3 支持HTTP/2 服務端推送 ..76
7.1.4 連接歸并 ..76
7.1.5 HTTP/2 調試工具..76
7.1.6 瀏覽器beta 版本 ..76
7.2 移動端 ..77
7.3 移動端應用支持 ..77
7.4 服務器、代理以及緩存 ..77
7.5 內容分發(fā)網絡 ..79
7.6 小結 ..79
第8 章 HTTP/2 調試 ..81
8.1 瀏覽器開發(fā)者工具..81
8.1.1 Chrome 開發(fā)者工具..81
8.1.2 Firefox 開發(fā)者工具 ..87
8.1.3 在iOS 上使用Charles Proxy 調試h2..88
8.1.4 在Android 上調試h2 ..90
8.2 WebPagetest ..91
8.3 OpenSSL ..91
8.4 nghttp2..92
8.5 curl ..93
8.6 h2i ...95
8.7 Wireshark ..96
8.8 小結 ..97
第9 章 展望未來 ..99
9.1 TCP 還是UDP..99
9.2 QUIC ..100
9.3 TLS 1.3 ..101
9.4 關于HTTP/3 ..102
附錄A HTTP/2 幀 ..103
附錄B 工具引用 ..111
關于作者..113
關于封面 ..113