Google Chrome 內建 SPDY 傳輸協定,加快網路瀏覽速度

今天在downloadsquad看到一則新聞,是指說Google Chrome內建了SPDY,來改善網路的效能。而以一般的使用者角度來看,我們實在不太怎麼需要知道他是如何改進的,只要知道它有內建這個功能,並且可以增進瀏覽速度即可。不過如果我只寫這樣,大多數的人一定會覺得這篇文章是沒什麼意義的文章,所以我以我讀Google官方文章後的了解,來介紹一下,它的改進方式。

 

在介紹它的原理之前,我們必須知道我們網路共有七層,至於是那七層請有興趣的人自行去Google查詢。而在傳輸層中,常見的傳輸協定有TCP和UDP,而TCP的傳輸必須由客戶端(Client,一般是指瀏覽器)發出一個請求(Request),而在接收方(一般通常是Server)接到請求後,Server要再發出一個回應(Response),而這樣還不能確認是安全的連線,也因此必須再發送第二次請求和第二次回應,以增加傳輸的可靠性。

 

雖然TCP這樣是一個安全的設計模組,但是如果傳輸過程遇到請求或回應或逾時的狀態,那麼傳輸的時間就會拉得很長,也因此整個瀏覽的速度就會降得很慢,而由於目前我們在瀏覽網站是採用HTTP的協定,而HTTP的協定又是TCP的封包所組成,也因此HTTP天生就有以下的缺陷。

  • 單一連接:雖然後來的瀏覽器都已經將連線數提高了,但是仍然是很慢。
  • 請求必須從客戶端所發出:這是由於TCP天生的缺陷所造成的
  • 未壓縮的檔頭(Header):由於TCP的封包每個都有檔頭,以確認是安全的傳輸,並且包著一些要給接收方知道的資訊,但現在的瀏覽器,除了最基本的TCP封包外,還會包上自己的User-Agent等一些瀏覽器的資料,所以檔頭愈來愈大,傳輸的過程就愈來愈慢。
  • 多餘的檔頭傳輸:由於我們傳輸一定是靠多個封包來完成的,而這些封包都有重覆的資訊,如瀏覽器的User Agent,並不可能因為傳輸而有所改變,但是瀏覽器還是將這些重覆傳送,造成資源浪費。
  • 選擇性的壓縮:HTTP是採用部份壓縮資料的方式傳輸,而在傳輸的過程還是有未壓縮的資料,也因此會浪費頻寬。

Read More