HTTP協議中內容編碼和傳輸編碼的區別

2021-06-18 02:02:51 字數 572 閱讀 3489

內容編碼:壓縮文件,例如伺服器在把html文件傳送給客戶端時,對文件進行壓縮,可以減少傳輸文件是時間。

內容編碼過程

(1)**伺服器生成原始響應報文,其中有原始的content-type和content-length首部。

(2)內容編碼伺服器對原始響應報文進行編碼,並在編碼後的報文增加content-encoding首部。

(3)接受程式對編碼後的報文進行解碼,獲得原始報文。

內容編碼型別:gzip,compress,deflate,identity

傳輸編碼:也是作用在實體主體上的可逆變化,但使用它們是由於架構方面的需要,和內容格式無關。使用首部transfer-encoding : chunked,此傳輸編碼使用的是分塊編碼。

分塊編碼:是傳輸編碼的一種。在http的持久連線時,如果伺服器動態建立內容,那伺服器在寫主體之前,就無法知道主體的content-length,那客戶端也就無法確定一條響應是否已經結束。使用分塊編碼可以解決這個問題。

HTTP協議之chunk編碼 分塊傳輸編碼

transfer encoding chunked 表示輸出的內容長度不能確定,普通的靜態頁面 之類的基本上都用不到這個。但動態頁面就有可能會用到,但我也注意到大部分asp,php,asp.net動態頁面輸出的時候大部分還是使用content length,沒有使用transfer encoding...

網路傳輸協議概念和HTTP協議

網路傳輸協議或簡稱為傳送協議,是指計算機通訊或網路裝置的共同語言。現在最普及的計算機通訊為網路通訊,所以 傳送協議 一般都指計算機通訊的傳送協議,如 tcp ip netbeui dhcp ftp http等。然而,傳送協議也存在於計算機的其他形式通訊,例如 物件導向程式設計裡面物件之間的通訊 作業...

http協議中編碼問題

http協議報文有兩種 請求報文和響應報文,這兩種報文結構是差不多的,都由三個部分組成,依次是 1 start line 開始行 在請求報文中叫請求行,響應報文中叫狀態行 如 get index.jsp http crlf 2 header 報頭 如 accept host user agent等 ...