計算機網絡2:HTTP1.0和HTTP1.1的區別

1. HTTP是什麼

HTTP是客戶端和服務器進行交互的通訊協議,什麼意思呢?就是請求和響應的過程。

2.HTTP1.0和HTTP1.1的區別

(1)時間:
HTTP1.0是在1996年最早在網頁上使用,HTTP1.1是在1999年開始廣泛應用
(2)緩存處理:

HTTP1.0:主要在請求頭中使用If-Modified-Since(IMS)、Expires來作爲緩存判斷的標準
HTTP1.1:引入更多的緩存控制機制,Entity tag,If-Unmodified-Since,If-Match,If-None_Match等緩存策略
(3)帶寬優化及網絡連接的使用:
HTTP1.0:存在浪費帶寬的現象,例如客戶端只是需要某個對象的一部分,而服務器卻將整個對象送了過來,不支持斷點續傳
HTTP1.1:處理更加靈活,在請求頭中引入了range頭域,允許只請求資源的某個部分,狀態碼是206(Partial Content),這樣就方便了開發者自由選擇以便於充分利用帶寬和連接
(4)斷點續傳
HTTP1.0:不支持斷點續傳,如果請求被中斷,則必須重新再次發送,對於大文件的下載和傳輸不友好,尤其是在網絡不好的情況下
HTTP1.1:支持斷點續傳,利用HTTP消息頭使用分塊傳輸編碼,將實體主體分塊傳輸。垮掉了還能撿起來,很棒
(5)錯誤通知的管理
HTTP1.1中新增了24個錯誤碼,如409-請求的資源與資源的當前狀態發生衝突;410-服務器上的某個資源被永久刪除了
(6)Host頭處理:
HTTP1.0:認爲每臺服務器都綁定唯一的IP地址,因此請求消息的URL中並沒有傳遞主機名
HTTP1.1:隨着虛擬機技術的發展,一臺物理服務器上可以存在多個虛擬主機,並且共享一個IP地址,這就需要我們在請求時指明是那臺主機了。所以HTTP1.1的請求消息和響應消息都應支持Host頭域,如果請求消息中沒有Host頭域,會報錯(400)
(7)長連接
HTTP1.0:短連接,每次請求都會重新建立連接
計算機網絡2:HTTP1.0和HTTP1.1的區別
HTTP1.1:長連接和請求的流水線。只要客戶端或服務器端任意一端沒有明確提出斷開TCP連接。就一直保持連接,所以一次連接可以發送多個HTTP請求和響應。減少了建立和關閉連接的消耗和延遲,默認開啓Connection:keep-alive

3.名詞解釋

1.If-Modified-Since(IMS)、Expires

IMS:瀏覽器第一次請求時,,服務器響應的響應頭中會攜帶一個Last-Modified用來記錄最後一次的修改時間並告知瀏覽器。之後當瀏覽器再次請求時,會攜帶一個IMS的請求頭,把上次服務器告訴它的文件最後修改時間返回到服務器端了。
如果文件沒有動過,服務器會返回304,不會發送頁面。
如果兩邊時間不一致,就是文件被改動了,服務器就響應200,併發送新的頁面內容
Expires:設置緩存過期時間
2.If-None-Match,Etag
計算機網絡2:HTTP1.0和HTTP1.1的區別

3.If-Unmodified-Since
計算機網絡2:HTTP1.0和HTTP1.1的區別
參考文章
https://www.cnblogs.com/moxiaotao/p/9670109.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章