-- 會員 / 註冊 --  
 帳號:
 密碼:
  | 註冊 | 忘記密碼
3/26 新書到! 3/19 新書到! 3/14 新書到! 12/12 新書到!
購書流程Q & A站務留言版客服信箱
3ds MaxMayaRhinoAfter EffectsSketchUpZBrushPainterUnity
PhotoShopAutoCadMasterCamSolidWorksCreoUGRevitNuke
C#CC++Java遊戲程式Linux嵌入式PLCFPGAMatlab
駭客資料庫搜索引擎影像處理FluentVR+ARANSYS深度學習
單晶片AVROpenGLArduinoRaspberry Pi電路設計CadenceProtel
HadoopPythonStm32CortexLabview手機程式AndroidiPhone
可查書名,作者,ISBN,3dwoo書號
詳細書籍分類

HTTP/2 in Action 中文版

( 簡體 字)
作者:鄭維智類別:1. -> 程式設計 -> 綜合
譯者:
出版社:電子工業出版社HTTP/2 in Action 中文版 3dWoo書號: 53015
詢問書籍請說出此書號!

缺書
NT售價: 560

出版日:7/1/2020
頁數:412
光碟數:0
站長推薦:
印刷:黑白印刷語系: ( 簡體 版 )
加入購物車 加到我的最愛
(請先登入會員)
ISBN:9787121386718
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證)
作者序:

譯者序:

前言:

前言
我在很早的時候就開始關注 HTTP/2 了。據稱,使用這種新技術,不需要做太多事情就能獲得性能提升,同時 Web 開發者也不再需要使用一些凌亂的變通方法,這絕對是令人振奮的。然而,現實比理想要骨感得多,我為弄清楚如何在我的Apache 服務器上部署它,以及弄清楚它對性能的影響花費了一段時間之后,發現缺乏文檔,這很是令我沮喪。我寫了一些博客介紹如何設置HTTP/2,這些博客很受歡迎。
與此同時,我開始參與 GitHub 上的一些 HTTP/2 項目,并泡在 Stack Overflow 上,關注相關的主題并幫助解答類似的問題。當 Manning 來電話,尋找人寫一本關于HTTP/2 的書時,我抓住了機會。我并沒有參與 HTTP/2 標準的制定,但我覺得我和那些曾經聽過這項技術,但卻對它缺乏了解,正在苦苦掙扎的網絡開發者有很多共同語言。
在編寫本書的一年半時間里,HTTP/2 已經成為主流,并被越來越多的網站使用。隨著軟件的更新,部署相關的問題變得越來越簡單,我希望本書中描述的一些問題很快成為歷史,但我懷疑還需要幾年的時間,啟用 HTTP/2 才能變得容易。
你啟用了 HTTP/2 后,應該可以立即看到性能提升,不需要進行太多的配置,也不需要非常理解它。然而,天下沒有免費的午餐,協議及部署中的細枝末節,要求網站管理者對協議有更深的理解。Web 性能優化是一個蓬勃發展的行業,HTTP/2是另一個工具,它是一種有趣的技術,會帶來很多機會。
網上有大量的信息,如果你有時間并愿意去尋找、過濾和理解這些信息,閱讀不同的意見,甚至直接與協議設計者和實現者溝通,會讓你收獲很多。然而,面對HTTP/2 這樣大的主題,如果我能在一本書的范圍和深度內解釋相關的技術,給你提供有用的參考,激起你的興趣,那么這本書就算實現了目標。

關于本書
本書以一種易于理解、方便上手的方式,使用實際的案例來解釋協議。協議規范枯燥且難以理解,因此本書力求通俗易懂,使用貼近用戶的案例來講解。
本書目標讀者
本書的目標讀者為網絡開發者、網站管理員以及想要了解互聯網技術如何運作的人。本書旨在提供 HTTP/2 的完整描述,以及其中的技術細節。盡管有大量關于該主題的博客、文章,但大多數都是關于特定主題的粗略或詳細的介紹。本書會詳述整個協議及其中的許多復雜特性,以幫助讀者閱讀和理解規范,以及一些深層次的文章。HTTP/2 的創建主要是為了提高性能,因此任何對 Web 性能優化感興趣的人都會從本書獲得有用的知識。此外,本書還包含許多參考資料,以供大家延伸閱讀。
本書組織結構
全書共有 10 章,分為 4 部分。
第 1 部分解釋了為什么要升級到 HTTP/2,以及升級的方法。
第 1 章介紹了一些背景知識,即使那些只對互聯網有基本了解的人也應該能夠掌握這些知識。
第 2 章討論了 HTTP/1.1 的問題,以及為什么需要 HTTP/2。
第 3 章描述了為網站啟用 HTTP/2 的方法,以及在此過程中會出現的一些復雜問題。附錄對本章中的內容做了補充,提供了流行的 Web 服務器 Apache、Nginx 和 IIS 的安裝說明。
從第 2 部分開始,逐步深入,講述協議本身,以及它對 Web 開發實踐所帶來的影響。
第 4 章介紹了 HTTP/2 協議的基礎知識,如何建立 HTTP/2 連接以及 HTTP/2幀的基本格式。
第 5 章介紹了 HTTP/2 推送,它是協議全新的特性,其允許服務端主動發送瀏覽器尚未請求的資源。
第 6 章介紹了 HTTP/2 對 Web 開發實踐所帶來的影響。
第 3 部分介紹了協議較深層的技術,Web 開發者以及 Web 服務器管理員目前可能無法對它們做出控制 :
第 7 章介紹了 HTTP/2 規范中的狀態、流量控制和優先級策略等概念,以及在具體實現中 HTTP/2 一致性差異。
第 8 章深入探討了 HPACK 協議,該協議用于 HTTP/2 中的 HTTP 首部壓縮。
第 4 部分著眼于 HTTP 的未來。
第 9 章介紹了 TCP、QUIC 和 HTTP/3。技術更迭的腳步永遠不會停止,現在開發人員已經在尋找改進 HTTP/2 的方法。本章討論了 HTTP/2 未解決的低效問題,以及如何在后續版本中改進它們 :HTTP/3。
第 10 章介紹了除 HTTP/3 之外的其他可以改進 HTTP 的方法,包括對在HTTP/2 標準化過程中所出現問題的反思,以及在實際應用中這些問題的影響。
讀完本書,讀者應該對 HTTP/2 和相關技術有很好的掌握,應該對 Web 性能優化有更深入的了解,同時也為將來 QUIC 和 HTTP/3 的發布做好了準備。
內容簡介:

本書以易于理解、方便上手的方式,使用貼近用戶的實例來解釋 HTTP/2 協議。本書首先介紹為什么要升級到 HTTP/2 以及升級的方法 ;然后逐步深入,詳細解釋了 HTTP/2 協議本身及其對Web 開發的影響 ;之后介紹了部分高級內容,如流狀態、HPACK 等 ;最后探討了 HTTP 的未來。本書對于 Web 開發者和運維工程師來說是一本很有價值的參考書。
目錄:

第1部分 向HTTP/2靠攏
第1章 萬維網與HTTP............3
1.1 萬維網的原理 .............3
1.1.1 因特網與萬維網 ...........4
1.1.2 打開網頁時會發生什么 .........5
1.2 什么是HTTP .............9
1.3 HTTP的語法和歷史 ...........16
1.3.1 HTTP/0.9 ...........16
1.3.2 HTTP/1.0 ...........17
1.3.3 HTTP/1.1 ...........23
1.4 HTTPS簡介 .............29
1.5 查看、發送和接收HTTP消息的工具 .......32
1.5.1 瀏覽器開發者工具 .........32
1.5.2 發送 HTTP 請求 ...........34
1.5.3 其他工具 ...........35
總結 ..............36
第2章 通向HTTP/2之路...........37
2.1 HTTP/1.1和當前的萬維網 .........38
2.1.1 HTTP/1.1 根本的性能問題 ........40
2.1.2 HTTP/1.1 管道化 ..........42
2.1.3 網絡性能瀑布流圖 .........43
2.2 解決HTTP/1.1性能問題的方案 .........45
2.2.1 使用多個 HTTP 連接 .........46
2.2.2 發送更少的請求 ...........49
2.2.3 HTTP/1 性能優化總結 .........50
2.3 HTTP/1.1的其他問題 ...........50
2.4 實際案例 .............51
2.4.1 示例網站 1: amazon.com .........52
2.4.2 示例網站 2 : imgur.com .........56
2.4.3 這個問題究竟有多嚴重 .........57
2.5 從HTTP/1.1到HTTP/2 ..........58
2.5.1 SPDY .............58
2.5.2 HTTP/2 ............61
2.6 HTTP/2對Web性能的影響 .........62
2.6.1 展示 HTTP/2 能力的絕佳示例 ........62
2.6.2 對 HTTP/2 提升性能的期望 ........65
2.6.3 HTTP/1.1 的一些性能變通方法可能是反模式 ....70
總結 ..............70
第3章 升級到HTTP/2. ............72
3.1 HTTP/2的支持 ............72
3.1.1 瀏覽器對 HTTP/2 的支持 ........73
3.1.2 服務器對 HTTP/2 的支持 ........78
3.1.3 兼容不支持 HTTP/2 的情況 ........80
3.2 網站開啟HTTP/2的方法 ..........81
3.2.1 在 Web 服務器上開啟 HTTP/2........81
3.2.2 反向代理實現 HTTP/2 .........84
3.2.3 通過 CDN 實現 HTTP/2 ........87
3.2.4 小結 .............89
3.3 常見問題 .............89
總結 ..............93
第2部分 使用HTTP/2
第4章 HTTP/2協議基礎...........97
4.1 為什么是HTTP/2而不是HTTP/1.2 ........97
4.1.1 使用二進制格式替換文本格式 .......99
4.1.2 多路復用代替同步請求 .........100
4.1.3 流的優先級和流量控制 .........103
4.1.4 首部壓縮 ...........104
4.1.5 服務端推送 ...........105
4.2 如何創建一個HTTP/2連接 ..........105
4.2.1 使用 HTTPS 協商 .........106
4.2.2 使用 HTTP upgrade 首部 .........113
4.2.3 使用先驗知識 ...........116
4.2.4 HTTP Alternative Services ........117
4.2.5 HTTP/2 前奏消息 .........117
4.3 HTTP/2幀 ............119
4.3.1 查看 HTTP/2 幀 ..........119
4.3.2 HTTP/2 幀數據格式 .........126
4.3.3 HTTP/2 消息流示例 .........128
4.3.4 其他幀 ...........143
總結 ..............148
第5章 實現HTTP/2推送...........149
5.1 什么是HTTP/2服務端推送 ..........149
5.2 如何推送 .............153
5.2.1 使用 HTTP link 首部推送 ........153
5.2.2 查看 HTTP/2 推送 ..........156
5.2.3 使用 link 首部從下游系統推送 .......159
5.2.4 更早推送 ...........162
5.2.5 使用其他方式推送 .........168
5.3 HTTP/2推送在瀏覽器中如何運作 ........171
5.3.1 查看推送緩存如何工作 .........172
5.3.2 使用 RST_STREAM 拒絕推送 .......175
5.4 如何實現條件推送 ...........176
5.4.1 在服務端跟蹤推送的資源 .........176
5.4.2 使用 HTTP 條件請求 .........176
5.4.3 使用基于 cookie 的推送 ........177
5.4.4 使用緩存摘要 ...........178
5.5 推送什么 .............179
5.5.1 你能推送什么 ...........179
5.5.2 應該推送什么 ...........180
5.5.3 自動化推送 ...........181
5.6 HTTP/2推送常見問題 ..........182
5.7 HTTP/2推送對性能的影響 ..........184
5.8 對比推送和預加載 ...........185
5.9 HTTP/2推送的其他應用場景 ..........188
總結 ..............190
第6章 HTTP/2優化............192
6.1 HTTP/2對Web開發者的影響 .........192
6.2 一些HTTP/1.1優化方法是否成了反模式 .......194
6.2.1 HTTP/2 請求依然有開銷 .........194
6.2.2 HTTP/2 不是沒有限制 .........197
6.2.3 越大的資源壓縮越有效 .........199
6.2.4 帶寬限制和資源競爭 .........201
6.2.5 域名分片 ...........202
6.2.6 內聯資源 ...........203
6.2.7 總結 .............203
6.3 在HTTP/2下依然有效的性能優化技術 ........204
6.3.1 減少要傳輸的數據量 .........204
6.3.2 使用緩存防止重復發送數據 .......211
6.3.3 Service Worker 可以大幅減少網絡加載 .....215
6.3.4 不發送不需要的內容 .........216
6.3.5 HTTP 資源暗示 ..........217
6.3.6 減少最后 1 公里的延遲 .........219
6.3.7 優化 HTTPS ..........219
6.3.8 和 HTTP 無關的性能優化技術 .......222
6.4 同時對HTTP/1.1和HTTP/2做優化 ........222
6.4.1 計算 HTTP/2 流量 ..........223
6.4.2 在服務端檢測 HTTP/2 支持 ........224
6.4.3 在客戶端檢測 HTTP/2 支持 ........228
6.4.4 連接合并 ...........228
6.4.5 還要為 HTTP/1.1 的用戶優化多久 .......230
總結 ..............231
第3部分 HTTP/2進階
第7章 高級HTTP/2概念...........235
7.1 流狀態 .............236
7.2 流量控制 .............239
7.2.1 流量控制示例 ...........240
7.2.2 在服務器上設置流量控制 .........244
7.3 流優先級 .............244
7.3.1 流依賴關系 ...........245
7.3.2 流權重 ...........248
7.3.3 為什么優先級策略如此復雜 .......251
7.3.4 Web 服務器和瀏覽器中的優先級策略 .......252
7.4 HTTP/2一致性測試 ..........255
7.4.1 服務端一致性測試 .........255
7.4.2 客戶端一致性測試 .........258
總結 ..............258
第8章 HPACK首部壓縮...........259
8.1 為什么需要首部壓縮 ...........259
8.2 壓縮的運作方式 ...........261
8.2.1 查表法 ...........262
8.2.2 更高效的編碼技術 .........263
8.2.3 Lookback( 反查 ) 壓縮 .........264
8.3 HTTP正文壓縮 ...........265
8.4 HTTP/2的HPACK首部壓縮 .........267
8.4.1 HPACK 靜態表 ...........268
8.4.2 HPACK 動態表 ...........269
8.4.3 HPACK 首部類型 .........269
8.4.4 Huffman 編碼表 ...........275
8.4.5 Huffman 編碼腳本 .........276
8.4.6 為什么 Huffman 編碼不總是最佳的 ......278
8.5 HPACK壓縮實例 ............279
8.6 客戶端和服務端對HPACK的實現 ........285
8.7 HPACK的價值 ............287
總結 ..............287
第4部分 HTTP的未來
第9章 TCP、QUIC和HTTP/3..........291
9.1 TCP的低效率因素,以及HTTP ........292
9.1.1 創建 HTTP 連接的延遲 .........293
9.1.2 TCP 擁塞控制對性能的影響.......295
9.1.3 TCP 低效率因素對 HTTP/2 的影響 .......303
9.1.4 優化 TCP ...........307
9.1.5 TCP 和 HTTP 的未來.........313
9.2 QUIC .............313
9.2.1 QUIC 的性能優勢 ..........315
9.2.2 QUIC 和網絡技術棧 .........316
9.2.3 什么是 UDP,為什么 QUIC 基于它 ......317
9.2.4 標準化 QUIC ..........320
9.2.5 HTTP/2 和 QUIC 的不同 .........322
9.2.6 QUIC 的工具 ..........325
9.2.7 QUIC 實現 ............327
9.2.8 你應該使用 QUIC 嗎 .........327
總結 ..............328
第10章 HTTP將何去何從..........329
10.1 關于HTTP/2的爭議,以及它沒有解決的問題 ......330
10.1.1 反對 SPDY 的觀點 .........330
10.1.2 隱私問題和 HTTP 中的狀態 .......332
10.1.3 HTTP 和加密 ..........337
10.1.4 傳輸協議的問題 .........340
10.1.5 HTTP/2 太過于復雜 .........344
10.1.6 HTTP/2 是一種權宜之計 .........345
10.2 HTTP/2的實際應用 ..........345
10.3 HTTP/2的未來版本,HTTP/3或者HTTP/4會帶來什么 ....347
10.3.1 QUIC 是 HTTP/3 嗎 .........347
10.3.2 更進一步改進 HTTP 二進制協議 ......348
10.3.3 在傳輸層之上進一步優化 HTTP ......348
10.3.4 什么時候會需要新的 HTTP 版本 .......351
10.3.5 如何引入未來版本的 HTTP ........352
10.4 將HTTP當作一個更通用的傳輸協議 .......352
10.4.1 使用 HTTP 語義和消息來傳遞非 Web 流量 ....353
10.4.2 使用 HTTP/2 二進制成幀層 ........354
10.4.3 使用 HTTP 啟動另一個協議 .......355
總結 ..............359
附錄A 將常見Web服務器升級到HTTP/2.........360
序: