http0.9,1.1,2.0分析:
阿新 • • 發佈:2021-08-04
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一起傳送到客戶端,省去了客戶端重複請求的步驟。正因為沒有發起請求,建立連線等操作,所以靜態資源通過服務端推送的方式可以極大地提升速度。