HTTP1 1與HTTP1 0的區別

2021-10-02 11:06:41 字數 1410 閱讀 3959

a) http/1.1 在訊息中增加版本號,用於相容性判斷。 b) http/1.1增加了options方法,它允許客戶端獲取乙個伺服器支援的方法列表。 c) 為了與未來的協議規範相容,http/1.1在請求訊息中包含了upgrade頭域,通過該頭域,客戶端可以讓伺服器知道它能夠支援的其它備用通訊協議,伺服器可以據此進行協議切換,使用備用協議與客戶端進行通訊。

在 http/1.0 中,使用 expire 頭域來判斷資源的 fresh 或 stale,並使用條件請求(conditional request)來判斷資源是否仍有效。http/1.1 在 1.0 的基礎上加入了一些 cache 的新特性,當快取物件的 age 超過 expire 時變為stale物件,cache不需要直接拋棄stale物件,而是與源伺服器進行重新啟用(revalidation)。

http訊息中可以包含任意長度的實體,通常它們使用content-length來給出訊息結束標誌。但是,對於很多動態產生的響應,只能通過緩衝完整的訊息來判斷訊息的大小,但這樣做會加大延遲。如果不使用長連線,還可以通過連線關閉的訊號來判定乙個訊息的結束。 http/1.1 中引入了 chunkedtransfer-coding 來解決上面這個問題,傳送方將訊息分割成若干個任意大小的資料塊,每個資料塊在傳送時都會附上塊的長度,最後用乙個零長度的塊作為訊息結束的標誌。這種方法允許傳送方只緩衝訊息的乙個片段,避免緩衝整個訊息帶來的過載。 在 http/1.0 中,有乙個 content-md5 的頭域,要計算這個頭域需要傳送方緩衝完整個訊息後才能進行。而 http/1.1 中,採用 chunked 分塊傳遞的訊息在最後乙個塊(零長度)結束之後會再傳遞乙個拖尾trailer),它包含乙個或多個頭域,這些頭域是傳送方在傳遞完所有塊之後再計算出值的。傳送方會在訊息中包含乙個trailer頭域告訴接收方這個拖尾的存在。

在http1.0中認為每台伺服器都繫結乙個唯一的ip位址,因此,請求訊息中的url並沒有傳遞主機名(hostname)。 但隨著虛擬主機技術的發展,在一台物理伺服器上可以存在多個虛擬主機(multi-homed web servers),並且它們共享乙個ip位址。 http1.1 的請求訊息和響應訊息都應支援 host 頭域,且請求訊息中如果沒有 host 頭域會報告乙個錯誤(400 bad request)。此外,伺服器應該接受以絕對路徑標記的資源請求。

http/1.0 中只定義了 16 個狀態響應碼,對錯誤或警告的提示不夠具體。http/1.1 引入了乙個 warning 頭域,增加對錯誤或警告資訊的描述。 此外,在http/1.1中新增了24個狀態響應碼,如409(conflict)表示請求的資源與資源的當前狀態發生衝突; 410(gone)表示伺服器上的某個資源被永久性的刪除。

HTTP1 0與HTTP1 1的區別

下面主要從幾個不同的方面介紹http 1.0與http 1.1之間的差別,當然,更多的內容是放在解釋這種差異背後的機制上。可擴充套件性的乙個重要原則 如果http的某個實現接收到了自身未定義的頭域,將自動忽略它。在訊息中增加版本號,用於相容性判斷。注意,版本號只能用來判斷逐段 hop by hop ...

Http1 1與Http1 0的比較

上篇部落格 web開發基礎 http1.0協議 客戶端與伺服器端的互動 1 允許在乙個 tcp連線上 可以傳送多個http請求和響應 這樣乙個包含多個影象的網頁的多個請求和響應就可以在乙個連線中進行傳輸了 但是每個單獨的網頁檔案的請求和 仍然還是需要使用各自的連線的。2 允許客戶端不用等待上一次的請...

HTTP1 0與HTTP1 1的區別

下面主要從幾個不同的方面介紹 http 1.0與http 1.1 之間的差別,當然,更多的內容是放在解釋這種差異背後的機制上。1 可擴充套件性 可擴充套件性的乙個重要原則 如果http的某個實現接收到了自身未定義的頭域,將自動忽略它。在訊息中增加版本號,用於相容性判斷。注意,版本號只能用來判斷逐段 ...