HTTP 1 0 和HTTP 1 1 的區別

2021-08-18 20:32:53 字數 1794 閱讀 9127

區別一(最重要)

http/ 1.1 加入了

1 持久連線(http persistent connections),也稱為 http keep-alive,持久連線的特點是,只要任意一端沒有明確提出斷開連線,則保持tcp連線狀態

2 管線化(也叫流水線)(pipelining),以前傳送請求後需要等待並且收到響應,才能傳送下乙個請求。管線化技術出現後,不用等待響應亦可直接傳送下乙個請求。

優點:節省通訊量。

1.0 規定瀏覽器與伺服器只保持短暫的連線,瀏覽器的每次請求都需要與伺服器建立乙個tcp連線,伺服器完成請求處理後立即斷開tcp連線,伺服器不跟蹤每個客戶也不記錄過去的請求。

http/ 1.1 預設開啟並使用 keep-alive

http/ 1.0 內並未標準化。

區別二
http 1.1增加host欄位

在http1.0中認為每台伺服器都繫結乙個唯一的ip位址,因此,請求訊息中的url並沒有傳遞主機名(hostname)。但隨著虛擬主機技術的發展,在一台物理伺服器上可以存在多個虛擬主機(multi-homed web servers),並且它們共享乙個ip位址。

http1.1的請求訊息和響應訊息都應支援host頭域,且請求訊息中如果沒有host頭域會報告乙個錯誤(400 bad request)。此外,伺服器應該接受以絕對路徑標記的資源請求。

區別三
加入新的狀態碼 100(continue)。

http/1.1加入了乙個新的狀態碼100(continue)。客戶端事先傳送乙個只帶頭域的請求,如果伺服器因為許可權拒絕了請求,就回送響應碼401(unauthorized);如果伺服器接收此請求就回送響應碼100,客戶端就可以繼續傳送帶實體的完整請求了。100 (continue) 狀態**的使用,允許客戶端在發request訊息body之前先用request header試探一下server,看server要不要接收request body,再決定要不要發request body。

作用:節約頻寬

區別四
http/ 1.1 加入了分塊傳輸編碼(chunked transfercoding)。傳送方將訊息分割成若干個任意大小的資料塊,每個資料塊在傳送時都會附上塊的長度(16進製制),最後用乙個零長度(0(cr+lf))的塊作為訊息結束的標誌。這種方法允許傳送方只緩衝訊息的乙個片段,避免緩衝整個訊息帶來的過載。

區別五
http/1.1在1.0的基礎上加入了一些cache的新特性,當快取物件的age超過expire時變為stale物件,cache不需要直接拋棄stale物件,而是與源伺服器進行重新啟用(revalidation)。

HTTP1 0 和 HTTP1 1的區別

這個應該是變化最大的乙個了.在1.0的版本中,如果客戶端請求頭沒有設定connection keep alive的話,那麼每次請求完成都會立即斷開連線,然後客戶端又要重新建立乙個http連線.假設乙個網頁包含了10個,那麼為了請求,客戶端必須要傳送10次請求,無疑這對頻寬和資源是極大的浪費,tcp的...

HTTP1 0和HTTP1 1的區別

http 1.0規定瀏覽器與伺服器只保持短暫的連線,瀏覽器每次都需要與伺服器建立乙個tcp連線,伺服器完成請求後,立即斷開tcp連線,也就是說,同乙個客戶第二次訪問同乙個伺服器上的頁面時,伺服器的響應過程與第一次被訪問時是相同的。舉例在收到的html文件後,文件中有10個,每個都要重新再次建立連線獲...

http1 0和http1 1的區別

在同乙個tcp的連線中可以傳送多個http請求和響應.多個請求和響應可以重疊,多個請求和響應可以同時進行.更加多的請求頭和響應頭 比如http1.0沒有host的字段 總之,在 http 1.0 中,大多實現為每個請求 響應交換使用新的連線。在 http 1.1 中,乙個連線可用於一次或多次請求 響...