HTTP header 介紹

  HTTP(Hyper Text Transfer Protocol)是超文本傳輸協議的縮寫,它用於傳送www方式的數據。HTTP協議採用了請求/響應模型。客服端向服務器發送一個請求,請求頭包含請求的方法、URI、協議版本、以及包含請求修飾符、客戶信息和內容的相似於MIME的消息結構。服務器以一個狀態行做爲響應,響應的內容包括消息協議的版本,成功或者錯誤編碼加上包含服務器信息、實體元信息以及可能的實體內容。就整個網絡資源傳輸而言,包括message-header和message-body兩部分。首先傳遞的是message-header,即http header消息。http header 消息一般被分爲4個部分:general header(通用頭),request header(請求頭),response header(響應頭),entity header(實體頭)。可是這種分法感受界限不太明確。根據維基百科對http header內容的組織形式,大致分爲Request和Response兩部分。css

Requests部分html

Accept:指定客戶端可以接收的內容類型,示例:Accept:text/plain,text/htmllinux

Accept-Charset:瀏覽器能夠接受的字符編碼集。示例:Accept-Charset:iso-8859-5web

Accept-Encoding:指定瀏覽器能夠支持的web服務器返回內容的壓縮編碼類型。Accept-Encoding:compress,gzip瀏覽器

Accept-Language:瀏覽器能夠接受的語言。示例:Accept-Language:en,zh緩存

Accept-Ranges:能夠請求實體的一個或多個子範圍。示例:Accept-Ranges:bytes服務器

Authorization:HTTP受權的受權證書。示例:Authorization:Basic QWxhZGRpbjpvcGVulHNic2FtZQ==cookie

Cache-control:指定請求和響應遵循的緩存機制。示例:Cache-Control:no-cache網絡

Connection:表示是否須要持久鏈接。(HTTP1.1默認進行持久鏈接)。示例:Connection:clolseapp

Cookie:HTTP請求發送時,會把保存在該請求域名下的全部cookie值一塊兒發送給web服務器。示例:Cookie:$Version=1;Skin=new;

Content-Length:請求的內容長度。示例:Content-Length:348

Content-Type:請求的與實體對應的MIME信息。示例:Content-Type:application/x-www-form-urlencoded

Date:請求發送的日期和時間。示例:Date:Tue,15 Nov 2010 08:12:31 GMT

Expect:請求的特定的服務器行爲。示例:Expect:100-continue

From:發出請求的用戶的Email。示例:From:user@email.com

Host:指定請求的服務器的域名和端口號。示例:Host:www.zcmhi.com

If-Match:只有請求內容與實體相匹配纔有效。示例:If-Match:"737060cd8c284d8af7ad3082f209582d"

If-Modified-Since:若是請求的部分在指定時間以後被修改則請求成功,未被修改則返回304代碼。示例:If-Modified-Since:Sat,29 Oct 2010 19:43:31 GMT

If-None-Match:若是內容未改變返回304代碼,參數爲服務器先前發送的Etag,與服務器迴應的Etag比較判斷是否改變。示例:If-None-Match:"737060cd8c284d8af7ad3082f209582d"

If-Range:若是實體未改變,服務器發送客服端丟失的部分,不然發送整個實體。參數也爲Etag。示例:If-Range:"737060cd8c284d8af7ad3082f209582d"

If-Unmodified-Since:只在實體在指定時間以後未被修改才請求成功。示例:If-Unmodified-Since:Sat,29 Oct 2010 19:43:31 GMT

Max-Forwards:限制信息經過代理和網關傳送的時間。示例:Max-Forwards:10

Pragma:用來包含實現特定的指令。示例:Pragma:no-cache

Proxy-Authorization:鏈接到代理的受權證書。示例:Proxy-Authorization:Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==

Range:之請求實體的一部分,指定範圍。示例:Range:bytes=500-999

Referer:發出請求的頁面的URI,即來路。示例:Referer:http://www.zcmhi.com/archives/71.html

TE:客服端願意接受的傳輸編碼,並通知服務器接受接收尾加頭信息。示例:TE:trailers,deflate;q=0.5

Upgrade:向服務器指定某種傳輸協議以便服務器進行轉換(若是支持)。示例:Upgrade:HTTP/2.0,SHTTP/1.3,IRC/6.9,RTA/x11

User-Agent:User-Agent的內容包含發出請求的用戶信息,瀏覽器的用戶代理字符串。示例:User-Agent:Mozilla/5.0(Linux;X11)

Via:通知中間網關或代理服務器地址,通訊協議。示例:Via:1.0 fred, 1.1 nowhere.com (Apache/1.1)

Warning:關於消息實體的警告信息。示例:Warn:199 Miscellaneous warning

Responses部分

Accept-Ranges:代表服務器是否支持指定範圍請求及哪一種類型的分段請求。示例:Accept-Ranges: bytes

Age 從原始服務器到代理緩存造成的估算時間(以秒計,非負)。示例:Age: 12
 
Allow 對某網絡資源的有效的請求行爲,不容許則返回405。示例:Allow: GET, HEAD
 
Cache-Control 告訴全部的緩存機制是否能夠緩存及哪一種類型。示例:Cache-Control: no-cache
 
Content-Encoding web服務器支持的返回內容壓縮編碼類型。示例:Content-Encoding: gzip
 
Content-Language 響應體的語言。示例:Content-Language: en,zh
 
Content-Length 響應體的長度。示例:Content-Length: 348
 
Content-Location 請求資源可替代的備用的另外一地址。示例:Content-Location: /index.htm
 
Content- MD5 返回資源的MD5校驗值。示例:Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==
 
Content-Range 在整個返回體中本部分的字節位置。示例:Content-Range: bytes 21010-47021/47022
 
Content-Type 返回內容的MIME類型。示例:Content-Type: text/ html; charset=utf-8
 
Date:原始服務器消息發出的時間。示例:Date: Tue, 15 Nov 2010 08:12:31 GMT
 
ETag:請求變量的實體標籤的當前值。示例:ETag: 「737060cd8c284d8af7ad3082f209582d」
 
Expires:響應過時的日期和時間。示例:Expires: Thu, 01 Dec 2010 16:00:00 GMT
 
Last-Modified:請求資源的最後修改時間。示例:Last-Modified: Tue, 15 Nov 2010 12:45:26 GMT
 
Location:用來重定向接收方到非請求URL的位置來完成請求或標識新的資源。示例:Location: http:///archives/94.html
 
Pragma:包括實現特定的指令,它可應用到響應鏈上的任何接收方。示例:Pragma: no-cache
 
Proxy-Authenticate:它指出認證方案和可應用到代理的該URL上的參數。示例:Proxy-Authenticate: Basic
 
refresh:應用於重定向或一個新的資源被創造,在5秒以後重定向(由網景提出,被大部分瀏覽器支持)  www.2cto.com  。示例:Refresh: 5; url=http:///archives/94.html
 
Retry-After:若是實體暫時不可取,通知客戶端在指定時間以後再次嘗試。示例:Retry-After: 120
 
Server:web服務器軟件名稱。示例:Server: Apache/1.3.27 (Unix) (Red-Hat/ Linux)
 
Set-Cookie:設置Http Cookie。示例:Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1
 
Trailer:指出頭域在分塊傳輸編碼的尾部存在。示例:Trailer: Max-Forwards
 
Transfer-Encoding:文件傳輸編碼。示例:Transfer-Encoding:chunked
 
Vary :告訴下游代理是使用緩存響應仍是從原始服務器請求。示例:Vary: *
 
Via:告知代理客戶端響應是經過哪裏發送的。示例:Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1)
 
Warning:警告實體可能存在的問題。示例:Warning: 199 Miscellaneous warning
 
WWW-Authenticate :代表客戶端請求實體應該使用的受權方案。示例:WWW-Authenticate: Basic
相關文章
相關標籤/搜索