1. 程式人生 > 其它 >http0.9,1.1,2.0分析:

http0.9,1.1,2.0分析:

HTTP0.9,1.1,2.0分析:

HTTP/0.9:

第一個http協議,組成極其簡單,在當時只允許傳送傳送get請求,返回的話也只有一種。不支援請求頭,由客戶端傳送一個請求,然後由web伺服器返回頁面內容,連線關閉。如果頁面不存在,也不會返回任何狀態碼。

HTTP/1.0:

相對於HTTP/0.9增加了下面幾個特性:

  • 請求與響應支援頭部。
  • 響應物件以一個響應狀態碼開始
  • 響應物件不只限於超文字。
  • 開始支援客戶端通過POST方法向web伺服器提交資料,支援GET、HEAD、POST方法。
  • 支援長連線(但預設還是使用短連線)、快取機制以及身份認證。

HTTP/1.1(目前最常用的http):

  • 在HTTP/1.1中預設開啟Connection:keep-alive

弊端:明文傳輸;傳輸沒打散;頭部太長;server端無法主動push。

HTTP2.0:

1.使用二進位制傳輸

2.多路複用,每個資料流都拆分成很多互不依賴的幀,而這些幀可以交錯(亂序傳送),還可以分優先順序。最後再在另一端根據每個幀首部的流識別符號把它們重新組合起來。

3.頭部壓縮:HTTP/1.1的首部帶有大量資訊,而且每次都要重複傳送。HTTP/2.0要求通訊雙方各自快取一份首部欄位表,從而避免了重複傳輸。

4.服務端推送:服務端推送能把客戶端所需要的資源伴隨著index.html一起傳送到客戶端,省去了客戶端重複請求的步驟。正因為沒有發起請求,建立連線等操作,所以靜態資源通過服務端推送的方式可以極大地提升速度。