發表於2024-12-23
Web性能權威指南 pdf epub mobi txt 電子書 下載
怎麼纔能讓Web應用速度快、效率高?本書為所有關心這個問題的人提供瞭必須知道的網絡知識,既包括影響性能的最基本因素,也包括那些能讓我們創造更強大Web應用的重要技術革新,比如HTTP 2.0、XHR的改進、服務器發送事件(SSE)、WebSocket和WebRTC等。
Steve Souders推薦序 XIII
前言 XV
第一部分 網絡技術概覽
第1章 延遲與帶寬 3
1.1 速度是關鍵 3
1.2 延遲的構成 4
1.3 光速與傳播延遲 6
1.4 延遲的最後一公裏 7
1.5 網絡核心的帶寬 8
1.6 網絡邊緣的帶寬 9
1.7 目標:高帶寬和低延遲 10
第2章 TCP的構成 13
2.1 三次握手 14
2.2 擁塞預防及控製 16
2.2.1 流量控製 16
2.2.2 慢啓動 18
2.2.3 擁塞預防 24
2.3 帶寬延遲積 25
2.4 隊首阻塞 27
2.5 針對TCP的優化建議 28
2.5.1 服務器配置調優 29
2.5.2 應用程序行為調優 30
2.5.3 性能檢查清單 30
第3章 UDP的構成 31
3.1 無協議服務 32
3.2 UDP與網絡地址轉換器 34
3.2.1 連接狀態超時 35
3.2.2 NAT穿透 36
3.2.3 STUN、TURN與ICE 37
3.3 針對UDP的優化建議 39
第4章 傳輸層安全(TLS) 41
4.1 加密、身份驗證與完整性 42
4.2 TLS握手 44
4.2.1 應用層協議協商(ALPN) 46
4.2.2 服務器名稱指示(SNI) 47
4.3 TLS會話恢復 48
4.3.1 會話標識符 48
4.3.2 會話記錄單 49
4.4 信任鏈與證書頒發機構 50
4.5 證書撤銷 52
4.5.1 證書撤銷名單(CRL) 53
4.5.2 在綫證書狀態協議(OCSP) 54
4.6 TLS記錄協議 54
4.7 針對TLS的優化建議 55
4.7.1 計算成本 55
4.7.2 盡早完成(握手) 56
4.7.3 會話緩存與無狀態恢復 58
4.7.4 TLS記錄大小 59
4.7.5 TLS壓縮 60
4.7.6 證書鏈的長度 61
4.7.7 OCSP封套 62
4.7.8 HTTP嚴格傳輸安全(HSTS) 62
4.8 性能檢查清單 63
4.9 測試與驗證 64
第二部分 無綫網絡性能
第5章 無綫網絡概覽 69
5.1 無所不在的連接 69
5.2 無綫網絡的類型 70
5.3 無綫網絡的性能基礎 71
5.3.1 帶寬 71
5.3.2 信號強度 74
5.3.3 調製 75
5.4 測量現實中的無綫性能 76
第6章 Wi-Fi 79
6.1 從以太網到無綫局域網 79
6.2 Wi-Fi標準及功能 81
6.3 測量和優化Wi-Fi性能 81
6.4 針對Wi-Fi的優化建議 84
6.4.1 利用不計流量的帶寬 84
6.4.2 適應可變帶寬 85
6.4.3 適應可變的延遲時間 86
第7章 移動網絡 87
7.1 G字號移動網絡簡介 87
7.1.1 最早提供數據服務的2G 88
7.1.2 3GPP與3GPP2 89
7.1.3 3G技術的演進 91
7.1.4 IMT-Advanced的4G要求 93
7.1.5 長期演進(LTE) 94
7.1.6 HSPA+推進世界範圍內的4G普及 95
7.1.7 為多代並存的未來規劃 96
7.2 設備特性及能力 97
7.3 無綫電資源控製器(RRC) 99
7.3.1 3G、4G和Wi-Fi對電源的要求 101
7.3.2 LTE RRC狀態機 102
7.3.3 HSPA與HSPA+(UMTS)RRC狀態機 104
7.3.4 EV-DO(CDMA) RRC狀態機 106
7.3.5 低效率的周期性傳輸 107
7.4 端到端的運營商架構 108
7.4.1 無綫接入網絡(RAN) 108
7.4.2 核心網絡 110
7.4.3 迴程容量與延遲 112
7.5 移動網絡中的分組流 113
7.5.1 初始化請求 113
7.5.2 入站數據流 116
7.6 異質網絡(HetNet) 117
7.7 真實的3G、4G和Wi-Fi性能 119
第8章 移動網絡的優化建議 121
8.1 節約用電 122
8.2 消除周期性及無效的數據傳輸 124
8.3 預測網絡延遲上限 126
8.3.1 考慮RRC狀態切換 127
8.3.2 解耦用戶交互與網絡通信 128
8.4 麵對多網絡接口並存的現實 128
8.5 爆發傳輸數據並轉為空閑 130
8.6 把負載轉移到Wi-Fi網絡 131
8.7 遵從協議和應用最佳實踐 131
第三部分 HTTP
第9章 HTTP簡史 135
9.1 HTTP 0.9:隻有一行的協議 135
9.2 HTTP 1.0:迅速發展及參考性RFC 136
9.3 HTTP 1.1:互聯網標準 138
9.4 HTTP 2.0:改進傳輸性能 141
第10章 Web性能要點 143
10.1 超文本、網頁和Web應用 144
10.2 剖析現代Web應用 146
10.2.1 速度、性能與用戶期望 147
10.2.2 分析資源瀑布 148
10.3 性能來源:計算、渲染和網絡訪問 151
10.3.1 更多帶寬其實不(太)重要 152
10.3.2 延遲是性能瓶頸 152
10.4 人造和真實用戶性能度量 154
10.5 針對瀏覽器的優化建議 157
第11章 HTTP 1.x 161
11.1 持久連接的優點 163
11.2 HTTP管道 165
11.3 使用多個TCP連接 169
11.4 域名分區 171
11.5 度量和控製協議開銷 173
11.6 連接與拼閤 174
11.7 嵌入資源 177
第12章 HTTP 2.0 179
12.1 曆史及其與SPDY的淵源 180
12.2 走嚮HTTP 2.0 181
12.3 設計和技術目標 182
12.3.1 二進製分幀層 183
12.3.2 流、消息和幀 184
12.3.3 多嚮請求與響應 185
12.3.4 請求優先級 186
12.3.5 每個來源一個連接 188
12.3.6 流量控製 189
12.3.7 服務器推送 190
12.3.8 首部壓縮 192
12.3.9 有效的HTTP 2.0升級與發現 194
12.4 二進製分幀簡介 196
12.4.1 發起新流 197
12.4.2 發送應用數據 198
12.4.3 HTTP 2.0幀數據流分析 199
第13章 優化應用的交付 201
13.1 經典的性能優化最佳實踐 203
13.1.1 在客戶端緩存資源 204
13.1.2 壓縮傳輸的數據 205
13.1.3 消除不必要的請求字節 206
13.1.4 並行處理請求和響應 207
13.2 針對HTTP 1.x的優化建議 208
13.3 針對HTTP 2.0的優化建議 209
13.3.1 去掉對1.x的優化 209
13.3.2 雙協議應用策略 210
13.3.3 1.x與2.0的相互轉換 212
13.3.4 評估服務器質量與性能 213
13.3.5 2.0與TLS 214
13.3.6 負載均衡器、代理及應用服務器 215
第四部分 瀏覽器API與協議
第14章 瀏覽器網絡概述 219
14.1 連接管理與優化 220
14.2 網絡安全與沙箱 222
14.3 資源與客戶端狀態緩存 222
14.4 應用API與協議 223
第15章 XMLHttpRequest 225
15.1 XHR簡史 226
15.2 跨源資源共享(CORS) 227
15.3 通過XHR下載數據 230
15.4 通過XHR上傳數據 231
15.5 監控下載和上傳進度 233
15.6 通過XHR實現流式數據傳輸 234
15.7 實時通知與交付 236
15.7.1 通過XHR實現輪詢 237
15.7.2 通過XHR實現長輪詢 238
15.8 XHR使用場景及性能 240
第16章 服務器發送事件 243
16.1 EventSource API 243
16.2 Event Stream協議 245
16.3 SSE使用場景及性能 248
第17章 WebSocket 251
17.1 WebSocket API 252
17.1.1 WS與WSS 253
17.1.2 接收文本和二進製數據 253
17.1.3 發送文本和二進製數據 255
17.1.4 子協議協商 256
17.2 WebSocket協議 257
17.2.1 二進製分幀層 258
17.2.2 協議擴展 260
17.2.3 HTTP升級協商 261
17.3 WebSocket使用場景及性能 264
17.3.1 請求和響應流 264
17.3.2 消息開銷 265
17.3.3 數據效率及壓縮 266
17.3.4 自定義應用協議 266
17.3.5 部署WebSocket基礎設施 267
17.4 性能檢查錶 269
第18章 WebRTC 271
18.1 標準和WebRTC的發展 272
18.2 音頻和視頻引擎 272
18.3 實時網絡傳輸 276
18.4 建立端到端的連接 280
18.4.1 發信號和協商會話 280
18.4.2 會話描述協議(SDP) 282
18.4.3 交互連接建立(ICE) 285
18.4.4 增量提供(Trickle ICE) 288
18.4.5 跟蹤ICE收集和連接狀態 289
18.4.6 完整的示例 291
18.5 交付媒體和應用數據 295
18.5.1 通過DTLS實現安全通信 296
18.5.2 通過SRTP和SRTCP交付媒體 298
18.5.3 通過SCTP交付應用數據 301
18.6 DataChannel 305
18.6.1 設置與協商 307
18.6.2 配置消息次序和可靠性 309
18.6.3 部分可靠交付與消息大小 311
18.7 WebRTC使用場景及性能 312
18.7.1 音頻、視頻和數據流 312
18.7.2 多方通信架構 313
18.7.3 基礎設施及容量規劃 314
18.7.4 數據效率及壓縮 315
18.8 性能檢查錶 316
關於封麵 318
Steve Souders推薦序
“閤格的開發者知道怎麼做,而優秀的開發者知道為什麼那麼做。”相信每一位讀者看完這句話,一定打心眼兒裏贊同。我們都希望自己能夠理解身邊的各種係統,同時還能跟彆人講得明白。然而,如果你是一名Web 開發者,那很可能距離這個目標會越來越遠。
Web 開發的分工越來越細。你在做哪一類Web 開發?前端?後端?運維?大數據分析? UI/UX ?存儲? 視頻?實時消息?我還想再加上一個角色——性能工程師。鑽研基礎知識與緊跟最新動嚮本身是一對矛盾,很難平衡。可是,沒有基礎,那隻能是“牆上蘆葦,頭重腳輕根底淺”。光知道錶麵上的那點東西可不行。需要解決難題時,發生異常狀況時,理解基礎知識的人會脫穎而齣。
正因為如此,我纔說這本書非常重要,不能不看。如果你搞的是Web 開發,那你技術體係的根基就是Web 和它賴以存在的大量網絡協議:TCP、TLS、UDP、HTTP,等等。這些協議分彆有各自的性能特點和優化技巧,為開發高性能應用,你必須理解為什麼網絡那麼運行。
說實話,我真為想讀這本書的你感到慶幸!要是我剛剛接觸Web 編程時有這樣一本書就好瞭。那樣,就會有一位真正理解網絡的人為我釋疑解惑,告訴我那些標準和規範的要點,填充我技術體係中的空白。這本書的作者Ilya Grigorik,是少見的網絡編程專傢,而本書堪稱實戰經驗與規範解讀完美結閤的産物。
本書中,作者解釋瞭網絡編程中的很多為什麼:為什麼延遲是性能瓶頸?為什麼TCP 並不總是最優傳輸機製,而UDP 有時候反而是更好的選擇?為什麼重用連接是關鍵性的優化策略?然後,他又更進一步,給齣改進網絡性能的具體建議。想要降低延遲?在靠近客戶端的服務器上完成會話。想要提高連接重用率?保持連接持久化。正是這種提齣問題、分析問題和解決問題的模式,讓本書內容極為貼近實戰,接地氣。
除瞭全麵探討網絡的基礎知識,作者還詳細講解瞭協議和瀏覽器的最新進展。講瞭HTTP 2.0 的諸多優點, 迴顧瞭XHR 及其催生CORS(Cross-Origin ResourceSharing,跨源資源共享)的局限性,還有SSE(Server-Sent Events,服務器發送事件)、WebSockets 和WebRTC。讓我們徹底跟上瞭瀏覽器網絡技術棧的最新進展。
從性能角度分析,基礎和最新進展是本書特色,也是本書貫穿始終的主綫。正是性能這個視角,讓我們理解瞭網絡開發中的那麼多為什麼,明白瞭這些東西怎麼影響我們的網站和用戶。本書把抽象的規範變成瞭可操作的建議,讓我們可以馬上學以緻用去優化網站,去創造最佳用戶體驗。這纔是最重要的。所以,一定不要錯過這本書!
Steve Souders
世界級Web 性能專傢、榖歌公司高性能工程師
《高性能網站建設指南》等暢銷書作者
。。。。。。
評分書很厚,但沒有太多新的東西,反反復復就講那幾種人盡皆知的優化方案。還是比較適閤如門讀者的。
評分公司用書,沒趕上活動,價格貴,質量還行
評分最近京東怎麼瞭,連著兩個包裹都有明顯的缺陷,物流雖然不錯,不代錶不保證質量吧
評分很好的一本書,值得購買
評分看瞭十幾頁,感覺還行。
評分好好好~~非常好非常好非常好非常好~這麼可以怎麼好~~~
評分書質量不錯,價格便宜,值得購買。
評分還不錯,ok,很好 值得擁有
Web性能權威指南 pdf epub mobi txt 電子書 下載