Translate-CS 板


LINE

原文網址:http://www.integralist.co.uk/posts/http2.html blog 版:http://blog.dontcareabout.us/2015/11/http2.html ---------------------------------------------------------------------- 引言 ==== 這是一篇很簡短的文章,展示如何利用新的 HTTP/2 通訊協定。 如果你不熟悉它,那麼讓我花一點點時間來討論其中的一些亮點: * 單一、持續的連線 * Multiplexing * 壓縮 header * 優先等級 * 加密 * Server Push 如果這些功能對你而言都不知所云,讓我作進一步的解釋...... 持續連線 ======== 在 HTTP/1.x,web 頁面上每個 resource 都需要各自的連線。 如果一個頁面上有三張圖片、就會分別產生三個連線。 在 HTTP/2 會用單一的連線搭配 stream 的概念來改善這個狀況。 stream 是一個有效率的雙向通道,資訊可以透過 stream 往上或往下傳遞; 一個連線在有需要的情況下也可以管理多個 stream。 以前為了效率而發展出的這些技術就不再需要了: * domain sharding:解決 browser 對同一個 domain 的並行連線數量限制。 * 影像 sprite:將多個影像合併成一個,以減少 server 連線數量。 * 串接 CSS / JS:將數個 CSS / JavaScript 檔案組成單一檔案, 以減少 server 連線數量。 這也代表 browser 可以更精準處理 resource 的 cache, 因為已經沒有必要把 static resource 綁在一起。 這也避免使用者下載他們不會用到的東西。 Multiplexing ============ 簡單地說,就是單一連線可以同時承載多個 resource。 這是個很棒的效能改善、在大量傳輸 resource 時也能比 HTTP/1.x 管理的更好。 壓縮 ==== header 資訊不會用純文字的方式傳送了。 現在會壓縮讓它更小、接收 response 的速度也更快 (雖然這點公認只是個邊際效益)。 這也代表我們應該不用在那麼擔心 「把 static resource 挪到 cookie-less domain 上」這件事情。 這曾經是個問題,因為要包含 cookie 的資料, 所以 static resource 會統統變大許多。 優先等級 ======== 因為用了 multiplexing 的方式讓所有連線變成一個連線, 我們需要一個方法讓某些 request 有比較高的優先度, 以確保它們可以比其他 resource 更快被存取到。 HTTP/2 可以設定每個 stream 的權重 (stream 的觀念參見上面「持續連線」的部份)。 我不打算深入到設計的細節中。 只能說:如果你想知道藏了一堆魔鬼的細節, 我建議你到[這裡][http2]讀規格文件。 [http2]: http://http2.github.io/http2-spec/#rfc.section.5.3.2 SSL / TLS ======== 上述的亮點暗示了在 SSL / TLS 的 handshake 流程上 也降低了整體的時間耗用。原因如下: * 單一連線會將 client / server 之間的 handshake 次數降低到最低。 * multiplexing 允許用非同步的方式處理 request。 * 壓縮過的 HTTP header 讓連線更小(也就更快)。 * 有優先等級的連線會以適當的順序處理有關的 request。 Server Push =========== 在 HTTP/2 的規格中,client 發出最初的 HTTP request 之後, server 可以送出額外的資訊。 下面這件事情很重要:server push 與 [server-sent event] 是不一樣的技術。 server-send event 讓 server 可以推送更新給 client; 而只要 client 有監聽相關的 event,該 client 就能接收到推送的通知。 server push 是不一樣的東西、解決不一樣的使用情況。 使用 HTTP/2 的 server 可以對 client 發送額外的 resource, 即使 client 根本沒有要求這些東西。 舉一個經典的例子:當 client request 一個 有一些 CSS、JavaScript 等 static resource 的 HTTP 頁面。 在 HTTP/1.x,client 會 request 頁面、 parse 之後發現這個頁面有包含 CSS、JavaScript。 接著 client 必須要另外發出那些 static resource 的 request。 在 HTTP/2 中,server 可以在處理 client 一開始的 request 時 就送出全部的 static resource 以省去 client 發出多個 request。 [server-sent event]: https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events ---------------------------------------------------------------------- 後面還有一段「Implementations」,略過不譯 翻完之後才覺得這篇文章實在是... [遠目] 尤其是 Server Push 的段落實在有點語焉不詳... -- 錢鍾書: 說出來的話 http://www.psmonkey.org 比不上不說出來的話 Java 版 cookcomic 版 只影射著說不出來的話 and more...... --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.37.99.133
※ 文章網址: https://webptt.com/m.aspx?n=bbs/Translate-CS/M.1447572412.A.FE3.html
1F:推 tiefblau: 奇怪我怎麼記得一就有persistent connection了... 11/23 00:46
就《高效能網站開發指南》所述,HTTP/1.1 才有這個功能 HTTP/1.0 並沒有 不過 HTTP/1.1 只是可以持續連線,必須一個傳完才能換下一個 所以如果一次要六張圖的話 可能還是會選擇另外在加開五個連線吧? 當然,我絕對認同這篇文章實在寫的沒有很好 Orz ※ 編輯: PsMonkey (211.20.120.56), 11/23/2015 08:55:26







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Gossiping站內搜尋

TOP