實體首部字段是包含在請求和響應報文中的實體部分所使用的首部,用于補充內容的更新時間等與實體相關的信息。
一,Allow
該首部用來告知客戶端 服務器對請求報文中URI指定資源 支持的方法。
舉例:
Allow:GET,HEAD
(1)當服務器接收到不支持的HTTP方法時,會以狀態碼 405 Method Not Allowed 作為相應返回。
(2)與此同時,還會把所有能支持的HTTP方法放在Allow首部字段中一并返回。
二,Content-Encoding
該首部字段會告知客戶端 服務器對實體的主體部分選用的內容編碼方式。
舉例:
Content-Encoding:gzip
(1)上例說明服務器對實體主體的內容編碼方式為gzip
(2)內容編碼是指在不丟失實體信息的前提下所進行的壓縮。
(3)客戶端在接收到響應時會按照gzip的解壓方式進行實體主體的還原。
*主要采用的四種內容編碼方式:
gzip
comPRess
deflate
identity
三,Content-Language
該首部用來告知客戶端,實體主體使用的自然語言。
舉例:
Content-Language:zh-CN(中文)
(1)上例說明實體主體采用的語言為中文,英文為 en-us
四,Content-Length
該首部字段表明了實體主體的大小。
舉例:
Content-Length:15000 (字節)
(1)對實體主體進行內容編碼時,不能再使用該首部字段。
五,Content-Location
該首部字段用來告知客戶端,報文主體相對應的URI。
舉例:
Content-Location:http://www.hackr.jp/index-ja.html
(1)該首部字段告知的是返回資源對應的URI
(2)Location首部字段一般都是用來告知資源轉移后的地址
(3)比如,對于使用Accept-Language的請求報文,允許資源為英文,但URI指定的卻是中文版的資源,此時響應會返回英文版的資源,并且首部字段Content-Location內會寫明英文版資源的URI。
六,Content-md5
客戶端會對接收的報文主體執行相同的MD5算法,然后與首部字段Content-MD5的字段值比較,用來確保資源傳輸的完整性與準確性。
舉例:
Content-MD5:faja5gh6GS7SGjgSAJ8s==
(1)對報文主體執行MD5算法獲得128位二進制數
(2)再通過Base64編碼后將結果寫入Content-MD5字段值(是因為HTTP首部無法記錄二進制值,所以要通過編碼處理)
(3)為確定報文的有效性,客戶端會再執行一次相同的MD5算法,計算出來的值與Content-MD5的字段值作比較后,便可判斷出報文主體的準確性
*采用該方法無法查證惡意篡改,因為實體主體可以被篡改,那么同時意味著Content-MD5的字段值也可以被重新計算然后篡改。
七,Content-Range
針對范圍請求,該首部字段會告知客戶端作為響應返回的實體哪個部分符合范圍請求。
舉例:
響應報文:
HTTP/1.1 206 Partial Content
Date: Wed, 04 Jul 2012 07:08:03 GMT
Content-Range:bytes 5001-10000/10000
Content-Length:5000
Content-Type:image/jpeg
(1) 字段值的單位為字節,信息包含當前發送部分及整個實體的大小。
八,Content-Type
該首部字段說明了實體主體內對象的媒體類型。
舉例:
Content-Type:text/html; charset=UTF-8
(1)類型/子類型
(2)charset=字符集
九,Expires
該首部字段用來告知客戶端資源失效的日期。
舉例:
Expires:Wed,04 Jul 2012 08:26:05 GMT
(1)緩存服務器在接收到含有該首部字段的響應后會以緩存的形式來應答請求。
(2)如果時間超過該首部字段字段值指定的時間,會再次將請求發送至服務器。
(3)如果不想由緩存返回響應,可以將該首部字段的字段值賦成源服務器返回響應的時間。
(4)優先級小于max-age
十,Last-Modified
該首部字段用來告知客戶端,資源最后一次更新的時間。
舉例:
Last-Modified:Wed,04 Jul 2012 08:26:05 GMT
(1)一般來說字段值指示的就是Request-URI指定資源被修改的時間
(2)但是,類似使用CGI腳本進行動態數據處理時,改制有可能會變成數據最終修改的時間。
新聞熱點
疑難解答