Access-Control-Allow-Origin:表面該站點可以被哪些網站進行跨域資源共享(cross-origin resource sharing,CORS)(請參考“同源策略”和“跨域之源共享”),例如:Access-Control-Allow-Origin: http://example.com:8080 http://foo.example.com,或者Access-Control-Allow-Origin:*
Accept-Ranges:表明服務器支不支持資源范圍請求(“資源范圍請求”是指按byte為單位,請求資源的某一段數據,例如請求一個文件的200byte—400byte的數據)。Accept-Ranges:bytes 表示該資源支持byte形式資源范圍請求,Accept-Ranges:none則表示不支持。
Age:一個資源存在於代理中緩存的時間。單位是秒。
Allow:一個資源允許哪些HTTP方法進行請求,例如:Allow: GET, HEAD
Cache-Control:(Cache-Control是內容比較多的一個頭域,我會在下一篇博客做介紹)
Connection:連接方式。值有keep-alive和close
Content-Encoding:服務器對響應數據的編碼方式,但這里的編碼方式不同於編碼字符集(GB2312,UTF-8等),而是(通常)指壓縮方式,例如Content-Encoding:gzip
Content-Language:響應數據的自然語言,例如:Content-Language:ZH-CN
Content-Length:響應數據的數據長度,單位是byte,例如Content-Length:1024
Content-Location:(這個沒搞清什么意思)
Content-MD5:基於base64編碼的回應數據的MD5校驗和,例如:Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==
Content-Disposition:當客戶端請求的資源是一個可下載的資源(這里的“可下載”是指瀏覽器會彈出下載框或者下載界面)時,對這個可下載資源的描述(例如下載框中的文件名稱)就是來源於該頭域。例如:Content-Disposition: attachment; filename="some_app.exe"
Content-Range:表示如果當前這個響應數據是整個資源的一部分時,是具體的哪一部分(從第幾byte到第幾byte)。在請求中,客戶端可以通過設定"Range"頭域來通知服務器其只想請求整個資源中某一段數據,而對應的,當服務器響應這種請求,並發送某一段數據到客戶端的時候,必須通過Content-Range頭來告訴客戶端當前的響應數據是整個資源的第幾byte到第幾byte。這個在資源的分段下載和續點下載應用中很有用。例如:Content-Range:500-900
Content-Type:響應數據的MIME類型,例如:Content-Type: text/html; charset=utf-8
Date:響應消息發送的GMT格式日期,例如:Date: Tue, 15 Nov 1994 08:12:31 GMT
ETag:(Entity-Tag的縮寫)資源的一個標識,類似於key-value pair(鍵值對)中的key。ETag通常用於校驗一個資源實體有沒有被修改過。在數據緩存和PUT方法更新資源時候有用處。例如:ETag: "737060cd8c284d8af7ad3082f209582d"
Expires:告訴客戶端該響應數據會在指定的時間過期,通常用於給客戶端緩存作為參考。例如:Expires: Thu, 01 Dec 1994 16:00:00 GMT
Last-Modified:客戶端所請求的資源的最后修改時間。
Link:描述當前被請求的資源和另外一個資源的關系。這種關系被定義在RFC5988。例如:Link: </feed>; rel="alternate"
Location:用戶通知客戶端轉跳(重定向)到另一個URL(就是asp.net中Response.Redirect()方法的效果)。例如:Location: http://www.w3.org/pub/WWW/People.html
P3P:Platform for Privacy Preferences Project的縮寫,表示本站點遵守P3P協議(標稱本站點不會違法使用用戶信息)並希望收集用戶信息。不過P3P目前使用並不廣泛,特別國內並不重視P3P。P3P的值的格式為: P3P:CP="your_compact_policy"。
Pragma:在請求/響應鏈上附近的一些參數。該頭域內容較多,我會在下一篇博客中做介紹。
Proxy-Authenticate:訪問代理時需要使用的驗證方式。例如:Proxy-Authenticate: Basic
Refresh:用於令客戶端在指定N秒后轉跳到另外一個URL。例如:Refresh:6,http://www.google.com.hk 6秒后轉跳到google
Retry-After:用於因為某些原因(例如該資源暫時無效)通知客戶端在指定時間后重新嘗試請求,時間單位為秒。例如:Retry-After:60 一分鍾后重新嘗試請求該資源。
Server:服務器的名稱。例如 Server: Apache/2.4.1 (Unix)
Set-Cookie:對客戶端設置cookie。例如:Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1
Strict-Transport-Security:用於指示客戶端如何對HTTPS進行緩存(緩存多長時間)以及是否對子域生效。例如:Strict-Transport-Security: max-age=16070400; includeSubDomains
Trailer:當響應資源已chunked編碼(具體請google一下chunked編碼)傳輸時,每個Chunked-Body尾部的額外數據。
Transfer-Encoding:響應內容的傳輸編碼方式,通常有 chunked, deflate, gzip等。
Vary:用來指示緩存代理(例如squid)根據什么條件去緩存一個請求。Vary的可能值有: Vary: Accept-Encoding Vary: Accept-Encoding,User-Agent Vary: X-Some-Custom-Header,Host Vary: *
Via:告訴客戶端,該回應經歷了那些代理。例如 Via: 1.0 example1.com, 1.1 example2.com (Apache/1.1)
WWW-Authenticate:表示當前是用什么驗證方式訪問一個資源。例如:WWW-Authenticate:base
通用的非標准HTTP頭域:
X-XSS-Protection:IE8+中開啟或關閉跨站腳本攻擊。例如:X-XSS-Protection: 1; mode=block 有關請看:http://blogs.msdn.com/b/ieinternals/archive/2011/01/31/controlling-the-internet-explorer-xss-filter-with-the-x-xss-protection-http-header.aspx
X-Content-Type-Options:IE和chrome中的一個非標准頭域,只有一個值:nosniff。通常地,針對一個請求的響應的頭域中有content-type頭域來描述內容的MIME類型,但有些內容並沒有提供其MIME類型,這時候瀏覽器可以自己探測
該內容是什么類型,而X-Content-Type-Options:nosniff正是用於關閉自動嗅探功能。
X-Powered-By:表面當前站點(或資源)是用什么技術開發,例如 X-Powered-By:ASP.NET。相關的還有X-Runtime, X-Version, X-AspNet-Version