HTTP響應頭和請求頭信息對照表

HTTP請求頭提供了關於請求,響應或者其餘的發送實體的信息。HTTP的頭信息包括通用頭、請求頭、響應頭和實體頭四個部分。每一個頭域由一個域名,冒號(:)和域值三部分組成。html

  • 通用頭標:便可用於請求,也可用於響應,是做爲一個總體而不是特定資源與事務相關聯。
  • 請求頭標:容許客戶端傳遞關於自身的信息和但願的響應形式。
  • 響應頭標:服務器和於傳遞自身信息的響應。
  • 實體頭標:定義被傳送資源的信息。便可用於請求,也可用於響應。

根據以上分類的HTTP請求頭介紹能夠參考此文,本工具根據請求和輸出分爲Request和Response兩部分。java

HTTP Request Header 請求頭

Header 解釋 示例
Accept 指定客戶端可以接收的內容類型 Accept: text/plain, text/html
Accept-Charset 瀏覽器能夠接受的字符編碼集。 Accept-Charset: iso-8859-5
Accept-Encoding 指定瀏覽器能夠支持的web服務器返回內容壓縮編碼類型。 Accept-Encoding: compress, gzip
Accept-Language 瀏覽器可接受的語言 Accept-Language: en,zh
Accept-Ranges 能夠請求網頁實體的一個或者多個子範圍字段 Accept-Ranges: bytes
Authorization HTTP受權的受權證書 Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==
Cache-Control 指定請求和響應遵循的緩存機制 Cache-Control: no-cache
Connection 表示是否須要持久鏈接。(HTTP 1.1默認進行持久鏈接) Connection: close
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 先前網頁的地址,當前請求網頁緊隨其後,即來路 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

HTTP Responses Header 響應頭

Header 解釋 示例
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://www.zcmhi.com/archives/94.html
Pragma 包括實現特定的指令,它可應用到響應鏈上的任何接收方 Pragma: no-cache
Proxy-Authenticate 它指出認證方案和可應用到代理的該URL上的參數 Proxy-Authenticate: Basic
refresh 應用於重定向或一個新的資源被創造,在5秒以後重定向(由網景提出,被大部分瀏覽器支持)

 

 

Refresh: 5; url=web

http://www.zcmhi.com/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

HTTP 請求

當一個客戶端(一般是瀏覽器)向Web服務器發送一個請求是,它要發送一個請求的命令行,通常是GET或POST命令,當發送POST命令時,它還必須向服務器發送一個叫「Content-Length」的請求頭(Request   Header)   用以指明請求數據的長度,除了Content-Length以外,它還能夠向服務器發送其它一些Headers,如:     
    
  Accept   瀏覽器可接受的MIME類型     
  Accept-Charset   瀏覽器支持的字符編碼     
  Accept-Encoding   瀏覽器知道如何解碼的數據編碼類型(如   gzip)。Servlets   能夠預先檢查瀏覽器是否支持gzip並能夠對支持gzip的瀏覽器返回gzipped的HTML頁面,並設置Content-Encoding迴應頭(response   header)來指出發送的內容是已經gzipped的。在大多數狀況下,這樣作能夠加快網頁下載的速度。     
  Accept-Language   瀏覽器指定的語言,當Server支持多語種時起做用。     
  Authorization   認證信息,通常是對服務器發出的WWW-Authenticate頭的迴應。     
  Connection   是否使用持續鏈接。若是servlet發現這個字段的值是Keep-Alive,或者由發出請求的命令行發現瀏覽器支持   HTTP   1.1   (持續鏈接是它的默認選項),使用持續鏈接可使保護不少小文件的頁面的下載時間減小。     
  Content-Length   (使用POST方法提交時,傳遞數據的字節數)     
  Cookie   (很重要的一個Header,用來進行和Cookie有關的操做,詳細的信息將在後面的教程中介紹)     
  Host   (主機和端口)     
  If-Modified-Since   (只返回比指定日期新的文檔,若是沒有,將會反回304   "Not   Modified")     
  Referer   (URL)     
  User-Agent   (客戶端的類型,通常用來區分不一樣的瀏覽器)     
  若是你想更多的瞭解Request   Header的內容,你能夠訪問W3C的網站。   
    
  在Servlet中讀取Request   Header的內容   
    
  在Servlet中讀取Request   Header的值是很簡單的,只要調用HttpServletRequest的getHeader方法就能夠了,當你指定要返回的Header的名稱,該方法就會返回String類型的Header的內容,若是指定的Header不存在,就返回null。調用getHeaderNames能夠返回包含全部Header名字的Enumeration.   
    
  讀取全部Request   Header值的Servlet程序   
    
  下面是Tomcat中所帶的Servlet例子中關於Request   Header的例子,下載該程序。   緩存

import   java.io.*;   
  import   java.util.*;   
  import   javax.servlet.*;   
  import   javax.servlet.http.*;   
    
  public   class   RequestHeaderExample   extends   HttpServlet   {   
    
          public   void   doGet(HttpServletRequest   request,   HttpServletResponse   response)   
          throws   IOException,   ServletException   
          {   
                  response.setContentType("text/html");   
                  PrintWriter   out   =   response.getWriter();   
                  Enumeration   e   =   request.getHeaderNames();   
                  while   (e.hasMoreElements())   {   
                          String   name   =   (String)e.nextElement();   
                          String   value   =   request.getHeader(name);   
                          out.println(name   +   "   =   "   +   value);   
                  }   
          }   
  }   

 

來源:http://blog.csdn.net/qaz13177_58_/article/details/6597575服務器

相關文章
相關標籤/搜索