<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    憨厚生

    ----Java's Slave----
    ***Java's Host***

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      165 隨筆 :: 17 文章 :: 90 評論 :: 0 Trackbacks
    轉(zhuǎn)  http://blog.cnw.com.cn/index.php/20937/viewspace-3418

    HTTP頭字段包括4類:
           general-header ;
         request-header ;
           response-header ;
         entity-header .
     
    *******************************************************************************
     General Header Fields
    =============================
       general header是request、response都可用的, 但是不能用于entity.
     
     
           -- Cache-Control
           -- Connection
           -- Date
           -- Pragma
           -- Trailer
           -- Transfer-Encoding
           -- Upgrade
           -- Via
           -- Warning
     
    *******************************************************************************
     Request Header Fields
    ======================
     
       request-header fields 允許客戶端傳遞關(guān)于request和客戶端的附加信息到服務端,
     
           -- Accept
           -- Accept-Charset
           -- Accept-Encoding
           -- Accept-Language
           -- Authorization
           -- Expect
           -- From
           -- Host
           -- If-Match
           -- If-Modified-Since
           -- If-None-Match
           -- If-Range
           -- If-Unmodified-Since
           -- Max-Forwards
           -- Proxy-Authorization
           -- Range
           -- Referer
           -- TE
           -- User-Agent
     
    *******************************************************************************
      Response Header Fields
    ===============================
     
       response-header fields 允許服務端傳遞關(guān)于response的、不能放到Status-Line的附加信息。
       這些頭給出關(guān)于服務端的信息。 
     
          -- Accept-Ranges
          -- Age
          -- ETag
          -- Location
          -- Proxy-Authenticate
          -- Retry-After
          -- Server
          -- Vary
          -- WWW-Authenticate
     
    *******************************************************************************
     Entity Header Fields
    ========================
     
       Entity-header fields 定義關(guān)于entity-body的metainformation(標題字段數(shù)據(jù)),
       如果當前沒有body, 則定義被request確定的資源信息.
       一些metainformation是可選的; 一些是必須的。
     
           -- Allow
           -- Content-Encoding
           -- Content-Language
           -- Content-Length
           -- Content-Location
           -- Content-MD5
           -- Content-Range
           -- Content-Type
           -- Expires
           -- Last-Modified
           -- extension-header


    【轉(zhuǎn)自】http://www.x5dj.com/userforum/00100239/00305167.shtml


    一、基礎(chǔ)篇
    HTTP(HyperTextTransferProtocol)是超文本傳輸協(xié)議的縮寫,它用于傳送WWW方式的數(shù)據(jù),關(guān)于HTTP協(xié)議的詳細內(nèi)容請參考RFC2616。HTTP協(xié)議采用了請求/響應模型。客戶端向服務器發(fā)送一個請求,請求頭包含請求的方法、URI、協(xié)議版本、以及包含請求修飾符、客戶信息和內(nèi)容的類似于MIME的消息結(jié)構(gòu)。服務器以一個狀態(tài)行作為響應,相應的內(nèi)容包括消息協(xié)議的版本,成功或者錯誤編碼加上包含服務器信息、實體元信息以及可能的實體內(nèi)容。
    通常HTTP消息包括客戶機向服務器的請求消息和服務器向客戶機的響應消息。這兩種類型的消息由一個起始行,一個或者多個頭域,一個只是頭域結(jié)束的空行和可選的消息體組成。HTTP的頭域包括通用頭,請求頭,響應頭和實體頭四個部分。每個頭域由一個域名,冒號(:)和域值三部分組成。域名是大小寫無關(guān)的,域值前可以添加任何數(shù)量的空格符,頭域可以被擴展為多行,在每行開始處,使用至少一個空格或制表符。
    1、通用頭域
    通用頭域包含請求和響應消息都支持的頭域,通用頭域包含Cache-Control、Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via。對通用頭域的擴展要求通訊雙方都支持此擴展,如果存在不支持的通用頭域,一般將會作為實體頭域處理。下面簡單介紹幾個在UPnP消息中使用的通用頭域。
    Cache-Control頭域
    Cache-Control指定請求和響應遵循的緩存機制。在請求消息或響應消息中設置Cache-Control并不會修改另一個消息處理過程中的緩存處理過程。請求時的緩存指令包括no-cache、no- store、max-age、max-stale、min-fresh、only-if-cached,響應消息中的指令包括public、 private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、 max-age。各個消息中的指令含義如下:
    Public指示響應可被任何緩存區(qū)緩存。
    Private指示對于單個用戶的整個或部分響應消息,不能被共享緩存處理。這允許服務器僅僅描述當用戶的部分響應消息,此響應消息對于其他用戶的請求無效。
    no-cache指示請求或響應消息不能緩存
    no-store用于防止重要的信息被無意的發(fā)布。在請求消息中發(fā)送將使得請求和響應消息都不使用緩存。
    max-age指示客戶機可以接收生存期不大于指定時間(以秒為單位)的響應。
    min-fresh指示客戶機可以接收響應時間小于當前時間加上指定時間的響應。
    max-stale指示客戶機可以接收超出超時期間的響應消息。如果指定max-stale消息的值,那么客戶機可以接收超出超時期指定值之內(nèi)的響應消息。
    Date頭域
    Date頭域表示消息發(fā)送的時間,時間的描述格式由rfc822定義。例如,Date:Mon,31Dec200104:25:57GMT。Date描述的時間表示世界標準時,換算成本地時間,需要知道用戶所在的時區(qū)。
    Pragma頭域
    Pragma頭域用來包含實現(xiàn)特定的指令,最常用的是Pragma:no-cache。在HTTP/1.1協(xié)議中,它的含義和Cache-Control:no-cache相同。
    2、請求消息
    請求消息的第一行為下面的格式:
    Method SP Request-URI SP HTTP-Version CRLF 
    Method表示對于Request-URI完成的方法,這個字段是大小寫敏感的,包括OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE。方法GET和HEAD應該被所有的通用WEB服務器支持,其他所有方法的實現(xiàn)是可選的。GET方法取回由Request-URI標識的信息。HEAD方法也是取回由Request-URI標識的信息,只是可以在響應時,不返回消息體。POST方法可以請求服務器接收包含在請求中的實體信息,可以用于提交表單,向新聞組、BBS、郵件群組和數(shù)據(jù)庫發(fā)送消息。
    SP表示空格。
    Request-URI遵循URI格式,在此字段為星號(*)時,說明請求并不用于某個特定的資源地址,而是用于服務器本身。
    HTTP-Version表示支持的HTTP版本,例如為HTTP/1.1。
    CRLF表示換行回車符。
    請求頭域允許客戶端向服務器傳遞關(guān)于請求或者關(guān)于客戶機的附加信息。請求頭域可能包含下列字段Accept、Accept-Charset、Accept- Encoding、Accept-Language、Authorization、From、Host、If-Modified-Since、If- Match、If-None-Match、If-Range、If-Range、If-Unmodified-Since、Max-Forwards、 Proxy-Authorization、Range、Referer、User-Agent。對請求頭域的擴展要求通訊雙方都支持,如果存在不支持的請求頭域,一般將會作為實體頭域處理。
    典型的請求消息:
    GEThttp://class/download.microtool.de:80/somedata.exe
    Host:download.microtool.de
    Accept:*/*
    Pragma:no-cache
    Cache-Control:no-cache
    Referer:http://class/download.microtool.de/
    User-Agent:Mozilla/4.04[en](Win95;I;Nav)
    Range:bytes=554554-
    上例第一行表示HTTP客戶端(可能是瀏覽器、下載程序)通過GET方法獲得指定URL下的文件。棕色的部分表示請求頭域的信息,綠色的部分表示通用頭部分。
    Host頭域
    Host頭域指定請求資源的Intenet主機和端口號,必須表示請求url的原始服務器或網(wǎng)關(guān)的位置。HTTP/1.1請求必須包含主機頭域,否則系統(tǒng)會以400狀態(tài)碼返回。
    Referer頭域
    Referer頭域允許客戶端指定請求uri的源資源地址,這可以允許服務器生成回退鏈表,可用來登陸、優(yōu)化cache等。他也允許廢除的或錯誤的連接由于維護的目的被追蹤。如果請求的uri沒有自己的uri地址,Referer不能被發(fā)送。如果指定的是部分uri地址,則此地址應該是一個相對地址。
    Range頭域
    Range頭域可以請求實體的一個或者多個子范圍。例如,
    表示頭500個字節(jié):bytes=0-499
    表示第二個500字節(jié):bytes=500-999
    表示最后500個字節(jié):bytes=-500
    表示500字節(jié)以后的范圍:bytes=500-
    第一個和最后一個字節(jié):bytes=0-0,-1
    同時指定幾個范圍:bytes=500-600,601-999
    但是服務器可以忽略此請求頭,如果無條件GET包含Range請求頭,響應會以狀態(tài)碼206(PartialContent)返回而不是以200(OK)。
    User-Agent頭域
    User-Agent頭域的內(nèi)容包含發(fā)出請求的用戶信息。

    3、響應消息
    響應消息的第一行為下面的格式:
    HTTP-Version SP Status-Code SP Reason-Phrase CRLF
    HTTP-Version表示支持的HTTP版本,例如為HTTP/1.1。
    Status-Code是一個三個數(shù)字的結(jié)果代碼。
    Reason-Phrase給Status-Code提供一個簡單的文本描述。Status-Code主要用于機器自動識別,Reason-Phrase主要用于幫助用戶理解。Status-Code的第一個數(shù)字定義響應的類別,后兩個數(shù)字沒有分類的作用。第一個數(shù)字可能取5個不同的值:
    1xx:信息響應類,表示接收到請求并且繼續(xù)處理
    2xx:處理成功響應類,表示動作被成功接收、理解和接受
    3xx:重定向響應類,為了完成指定的動作,必須接受進一步處理
    4xx:客戶端錯誤,客戶請求包含語法錯誤或者是不能正確執(zhí)行
    5xx:服務端錯誤,服務器不能正確執(zhí)行一個正確的請求
    響應頭域允許服務器傳遞不能放在狀態(tài)行的附加信息,這些域主要描述服務器的信息和Request-URI進一步的信息。響應頭域包含Age、 Location、Proxy-Authenticate、Public、Retry-After、Server、Vary、Warning、WWW- Authenticate。對響應頭域的擴展要求通訊雙方都支持,如果存在不支持的響應頭域,一般將會作為實體頭域處理。
    典型的響應消息:
    HTTP/1.0200OK
    Date:Mon,31Dec200104:25:57GMT
    Server:Apache/1.3.14(Unix)
    Content-type:text/html
    Last-modified:Tue,17Apr200106:46:28GMT
    Etag:"a030f020ac7c01:1e9f"
    Content-length:39725426
    Content-range:bytes554554-40279979/40279980
    上例第一行表示HTTP服務端響應一個GET方法。棕色的部分表示響應頭域的信息,綠色的部分表示通用頭部分,紅色的部分表示實體頭域的信息。
    Location響應頭
    Location響應頭用于重定向接收者到一個新URI地址。
    Server響應頭
    Server響應頭包含處理請求的原始服務器的軟件信息。此域能包含多個產(chǎn)品標識和注釋,產(chǎn)品標識一般按照重要性排序。
    4、實體信息
    請求消息和響應消息都可以包含實體信息,實體信息一般由實體頭域和實體組成。實體頭域包含關(guān)于實體的原信息,實體頭包括Allow、Content-Base、Content-Encoding、Content-Language、 Content-Length、Content-Location、Content-MD5、Content-Range、Content-Type、 Etag、Expires、Last-Modified、extension-header。extension-header允許客戶端定義新的實體頭,但是這些域可能無法未接受方識別。實體可以是一個經(jīng)過編碼的字節(jié)流,它的編碼方式由Content-Encoding或Content-Type定義,它的長度由Content-Length或Content-Range定義。
    Content-Type實體頭
    Content-Type實體頭用于向接收方指示實體的介質(zhì)類型,指定HEAD方法送到接收方的實體介質(zhì)類型,或GET方法發(fā)送的請求介質(zhì)類型Content-Range實體頭
    Content-Range實體頭
    用于指定整個實體中的一部分的插入位置,他也指示了整個實體的長度。在服務器向客戶返回一個部分響應,它必須描述響應覆蓋的范圍和整個實體長度。一般格式:
    Content-Range:bytes-unit SP first-byte-pos - last-byte-pos/entity-legth
    例如,傳送頭500個字節(jié)次字段的形式:Content-Range:bytes0-499/1234如果一個http消息包含此節(jié)(例如,對范圍請求的響應或?qū)σ幌盗蟹秶闹丿B請求),Content-Range表示傳送的范圍,Content-Length表示實際傳送的字節(jié)數(shù)。
    Last-modified實體頭
    Last-modified實體頭指定服務器上保存內(nèi)容的最后修訂時間。
    5、 HTTP 頭參考(microsoft)
    HTTP 請求和 HTTP 響應都使用頭發(fā)送有關(guān) HTTP 消息的信息。頭由一系列行組成,每行都包含名稱,然后依次是冒號、空格、值。字段可按任何順序排列。某些頭字段既能用于請求頭也能用于響應頭,而另一些頭字段只能用于其中之一。
    許多請求頭字段都允許客戶端在值部分指定多個可接受的選項,有時甚至可以對這些選項的首選項進行排名。多個項以逗號分隔。例如,客戶端可以發(fā)送包含 “Content-Encoding: gzip, compress,”的請求頭,表示可以接受各種壓縮類型。如果服務器的響應正文使用 gzip 編碼,其響應頭中將包含“Content-Encoding: gzip”。
    有些字段可以在單個頭中出現(xiàn)多次。例如,頭可以有多個“Warning”字段。
    下表列出了 HTTP 1.1 頭字段。注意:有些頭字段是 MIME 字段。MIME 字段在 Internet Engineering Task Force (IETF) 文檔 RFC 2045 中進行了定義,但也可用于 HTTP 1.1 協(xié)議。有關(guān) MIME 和 HTTP 1.1 規(guī)范的詳細信息,請參閱 IEIF 頁。
    一般頭字段
    一般頭字段可用于請求消息和響應消息。
     名稱          示例值
    Cache-Control  "max-age=10"
    Connection    "close"
    Date          "Tue, 11 Jul 2000 18:23:51 GMT"
    Pragma        "no-cache"
    Trailer         "Date"
    Transfer-Encoding"chunked"
    Upgrade       "SHTTP/1.3"
    Via            "HTTP/1.1 Proxy1, HTTP/1.1 Proxy2"
    Warning       "112 Disconnected Operation"
    請求頭字段
    請求頭字段僅用于請求消息。
       名稱             示例值
    Accept           "text/html, image/*"
    Accept-Charset   "iso8859-5"
    Accept-Encoding "gzip, compress"
    Accept-Language "en, fr"
    Authorization     [credentials]
    Content-Encoding "gzip"
    Expect           "100-continue"
    From            "user@microsoft.com"
    Host            "www.microsoft.com"
    If-Match         "entity_tag001"
    If-Modified-Since"Tue, 11 Jul 2000 18:23:51 GMT"
    If-None-Match    "entity_tag001"
    If-Range         "entity_tag001" or "Tue, 11 Jul 2000 18:23:51 GMT"
    If-Unmodified-Since"Tue, 11 Jul 2000 18:23:51 GMT"
    Max-Forwards    "3"
    Proxy-Authorization[credentials]
    Range       "bytes=100-599"
    Referer      "http://www.microsoft.com/resources.asp"
    TE          "trailers"
    User-Agent   "Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)"
     
    >>請求頭字段的具體含義
    Accept:瀏覽器可接受的MIME類型。
    Accept-Charset:瀏覽器可接受的字符集。
    Accept-Encoding:瀏覽器能夠進行解碼的數(shù)據(jù)編碼方式,比如gzip。
    Accept-Language:瀏覽器所希望的語言種類,當服務器能夠提供一種以上的語言版本時要用到。
    Authorization:授權(quán)信息,通常出現(xiàn)在對服務器發(fā)送的WWW-Authenticate頭的應答中。
    Connection:表示是否需要持久連接。如果Servlet看到這里的值為“Keep-Alive”,或者看到請求使用的是HTTP 1.1(HTTP 1.1默認進行持久連接),它就可以利用持久連接的優(yōu)點,當頁面包含多個元素時(例如Applet,圖片),顯著地減少下載所需要的時間。要實現(xiàn)這一點, Servlet需要在應答中發(fā)送一個Content-Length頭,最簡單的實現(xiàn)方法是:先把內(nèi)容寫入ByteArrayOutputStream,然后在正式寫出內(nèi)容之前計算它的大小。
    Content-Length:表示請求消息正文的長度。
    Cookie:設置cookie,這是最重要的請求頭信息之一
    From:請求發(fā)送者的email地址,由一些特殊的Web客戶程序使用,瀏覽器不會用到它。
    Host:初始URL中的主機和端口。
    If-Modified-Since:只有當所請求的內(nèi)容在指定的日期之后又經(jīng)過修改才返回它,否則返回304“Not Modified”應答。
    Pragma:指定“no-cache”值表示服務器必須返回一個刷新后的文檔,即使它是代理服務器而且已經(jīng)有了頁面的本地拷貝。
    Referer:包含一個URL,用戶從該URL代表的頁面出發(fā)訪問當前請求的頁面。
    User-Agent:瀏覽器類型,如果Servlet返回的內(nèi)容與瀏覽器類型有關(guān)則該值非常有用。
    UA-Pixels,UA-Color,UA-OS,UA-CPU:由某些版本的IE瀏覽器所發(fā)送的非標準的請求頭,表示屏幕大小、顏色深度、操作系統(tǒng)和CPU類型。
    響應頭字段
    響應頭字段僅用于響應消息。
      名稱          示例值
    Accept-Ranges  "none"
    Age            "2147483648(2^31)"
    ETag           "b38b9-17dd-367c5dcd"
    Last-Modified    "Tue, 11 Jul 2000 18:23:51 GMT"
    Location        "http://localhost/redirecttarget.asp"
    Proxy-Authenticate[challenge]
    Retry-After      "Tue, 11 Jul 2000 18:23:51 GMT" or "60"
    Server         "Microsoft-IIS/5.0"
    Vary            "Date"
    WWW-Authenticate[challenge]
    實體頭字段
    實體頭字段可以用于請求消息或響應消息。實體頭字段中包含消息實體正文的有關(guān)信息,如使用的編碼格式。
       名稱            示例值
    Allow              "GET, HEAD"
    Content-Encoding   "gzip"
    Content-Language  "en"
    Content-Length     "8445"
    Content-Location   "http://localhost/page.asp"
    Content-MD5       [md5-digest]
    Content-Range     "bytes 2543-4532/7898"
    Content-Type      "text/html"
    Expires           "Tue, 11 Jul 2000 18:23:51 GMT"
    Last-Modified      "Tue, 11 Jul 2000 18:23:51 GMT"
    >>實體頭字段的具體含義
    Allow服務器支持哪些請求方法(如GET、POST等)。
    Content-Encoding文檔的編碼(Encode)方法。只有在解碼之后才可以得到Content-Type頭指定的內(nèi)容類型。利用gzip壓縮文檔能夠顯著地減少HTML文檔的下載時間。Java的GZIPOutputStream可以很方便地進行g(shù)zip壓縮,但只有Unix上的Netscape和Windows上的IE 4、IE 5才支持它。
    Content-Length表示內(nèi)容長度。只有當瀏覽器使用持久HTTP連接時才需要這個數(shù)據(jù)。
    Content-Type表示后面的文檔屬于什么MIME類型。Servlet默認為text/plain,但通常需要顯式地指定為text/html。
    Date當前的GMT時間。你可以用setDateHeader來設置這個頭以避免轉(zhuǎn)換時間格式的麻煩。
    Expires應該在什么時候認為文檔已經(jīng)過期,從而不再緩存它?
    Last-Modified文檔的最后改動時間。客戶可以通過If-Modified-Since請求頭提供一個日期,該請求將被視為一個條件GET,只有改動時間遲于指定時間的文檔才會返回,否則返回一個304(Not Modified)狀態(tài)。
    Location表示客戶應當?shù)侥睦锶ヌ崛∥臋n。Location通常不是直接設置的,而是通過HttpServletResponse的sendRedirect方法,該方法同時設置狀態(tài)代碼為302。
    Refresh表示瀏覽器應該在多少時間之后刷新文檔,以秒計。除了刷新當前文檔之外,你還可以通過setHeader("Refresh", "5; URL=http://host/path")讓瀏覽器讀取指定的頁面。
    注意這種功能通常是通過設置HTML頁面HEAD區(qū)的<META. HTTP-EQUIV="Refresh" C>實現(xiàn),這是因為,自動刷新或重定向?qū)τ谀切┎荒苁褂肅GI或Servlet的HTML編寫者十分重要。但是,對于Servlet來說,直接設置 Refresh頭更加方便。
    注意Refresh的意義是“N秒之后刷新本頁面或訪問指定頁面”,而不是“每隔N秒刷新本頁面或訪問指定頁面 ”。因此,連續(xù)刷新要求每次都發(fā)送一個Refresh頭,而發(fā)送204狀態(tài)代碼則可以阻止瀏覽器繼續(xù)刷新,不管是使用Refresh頭還是<META. HTTP-EQUIV="Refresh" ...>。
    注意Refresh頭不屬于HTTP 1.1正式規(guī)范的一部分,而是一個擴展,但Netscape和IE都支持它。
    請求頭示例
    以下是 HTTP 請求的簡單示例。
    GET /articles/news/today.asp HTTP/1.1
    Accept: */*
    Accept-Language: en-us
    Connection: Keep-Alive
    Host: localhost
    Referer:http://localhost/links.asp
    User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
    Accept-Encoding: gzip, deflate
    該請求具有請求行,其中包括方法 (GET)、資源路徑 (/articles/news/today.asp) 和 HTTP 版本 (HTTP/1.1)。由于該請求沒有正文,故所有請求行后面的內(nèi)容都是頭的一部分。緊接著頭之后是一個空行,表示頭已結(jié)束。
    響應頭示例
    Web 服務器可以通過多種方式響應前一個請求。假設文件是可以訪問的,并且用戶具有查看該文件的權(quán)限,則響應類似于:
    HTTP/1.1 200 OK
    Server: Microsoft-IIS/5.0
    Date: Thu, 13 Jul 2000 05:46:53 GMT
    Content-Length: 2291
    Content-Type: text/html
    Set-Cookie: ASPSESSIONIDQQGGGNCG=LKLDFFKCINFLDMFHCBCBMFLJ; path=/
    Cache-control: private
    ...
    響應的第一行稱為狀態(tài)行。它包含響應所用的 HTTP 版本、狀態(tài)編碼 (200) 和原因短語。示例中包含一個頭,其中具有五個字段,接著是一個空行(回車和換行符),然后是響應正文的頭兩行。
    有關(guān)HTTP頭完整、詳細的說明,請參見http://www.w3.org/Protocols/的HTTP規(guī)范。
     
    附錄:HTTP協(xié)議狀態(tài)碼的含義
      狀態(tài)代碼 狀態(tài)信息 含義
    100 Continue初始的請求已經(jīng)接受,客戶應當繼續(xù)發(fā)送請求的其余部分。(HTTP 1.1新)
    101 Switching Protocols服務器將遵從客戶的請求轉(zhuǎn)換到另外一種協(xié)議(HTTP 1.1新
    200 OK一切正常,對GET和POST請求的應答文檔跟在后面。
    201 Created服務器已經(jīng)創(chuàng)建了文檔,Location頭給出了它的URL。
    202 Accepted已經(jīng)接受請求,但處理尚未完成。
    203 Non-Authoritative Information文檔已經(jīng)正常地返回,但一些應答頭可能不正確,因為使用的是文檔的拷貝(HTTP 1.1新)。
    204 No Content沒有新文檔,瀏覽器應該繼續(xù)顯示原來的文檔。
    205 Reset Content沒有新的內(nèi)容,但瀏覽器應該重置它所顯示的內(nèi)容。用來強制瀏覽器清除表單輸入內(nèi)容(HTTP 1.1新)。
    206 Partial Content客戶發(fā)送了一個帶有Range頭的GET請求,服務器完成了它(HTTP 1.1新)。
    300 Multiple Choices客戶請求的文檔可以在多個位置找到,這些位置已經(jīng)在返回的文檔內(nèi)列出。如果服務器要提出優(yōu)先選擇,則應該在Location應答頭指明。
    301 Moved Permanently客戶請求的文檔在其他地方,新的URL在Location頭中給出,瀏覽器應該自動地訪問新的URL。
    302 Found類似于301,但新的URL應該被視為臨時性的替代,而不是永久性的。注意,在HTTP1.0中對應的狀態(tài)信息是“Moved Temporatily”,出現(xiàn)該狀態(tài)代碼時,瀏覽器能夠自動訪問新的URL,因此它是一個很有用的狀態(tài)代碼。注意這個狀態(tài)代碼有時候可以和301替換使用。例如,如果瀏覽器錯誤地請求http://host/~user(缺少了后面的斜杠),有的服務器返回301,有的則返回302。嚴格地說,我們只能假定只有當原來的請求是GET時瀏覽器才會自動重定向。請參見307。
    303 See Other類似于301/302,不同之處在于,如果原來的請求是POST,Location頭指定的重定向目標文檔應該通過GET提取(HTTP 1.1新)。
    304 Not Modified客戶端有緩沖的文檔并發(fā)出了一個條件性的請求(一般是提供If-Modified-Since頭表示客戶只想比指定日期更新的文檔)。服務器告訴客戶,原來緩沖的文檔還可以繼續(xù)使用。
    305 Use Proxy客戶請求的文檔應該通過Location頭所指明的代理服務器提取(HTTP 1.1新)。
    307 Temporary Redirect和302(Found)相同。許多瀏覽器會錯誤地響應302應答進行重定向,即使原來的請求是POST,即使它實際上只能在POST請求的應答是303時才能重定向。由于這個原因,HTTP 1.1新增了307,以便更加清除地區(qū)分幾個狀態(tài)代碼:當出現(xiàn)303應答時,瀏覽器可以跟隨重定向的GET和POST請求;如果是307應答,則瀏覽器只能跟隨對GET請求的重定向。(HTTP 1.1新)
    400 Bad Request請求出現(xiàn)語法錯誤。
    401 Unauthorized客戶試圖未經(jīng)授權(quán)訪問受密碼保護的頁面。應答中會包含一個WWW-Authenticate頭,瀏覽器據(jù)此顯示用戶名字/密碼對話框,然后在填寫合適的Authorization頭后再次發(fā)出請求。
    403 Forbidden資源不可用。服務器理解客戶的請求,但拒絕處理它。通常由于服務器上文件或目錄的權(quán)限設置導致。
    404 Not Found無法找到指定位置的資源。這也是一個常用的應答,
    405 Method Not Allowed請求方法(GET、POST、HEAD、DELETE、PUT、TRACE等)對指定的資源不適用。(HTTP 1.1新)
    406 Not Acceptable指定的資源已經(jīng)找到,但它的MIME類型和客戶在Accpet頭中所指定的不兼容(HTTP 1.1新)。
    407 Proxy Authentication Required類似于401,表示客戶必須先經(jīng)過代理服務器的授權(quán)。(HTTP 1.1新)
    408 Request Timeout在服務器許可的等待時間內(nèi),客戶一直沒有發(fā)出任何請求。客戶可以在以后重復同一請求。(HTTP 1.1新)
    409 Conflict通常和PUT請求有關(guān)。由于請求和資源的當前狀態(tài)相沖突,因此請求不能成功。(HTTP 1.1新)
    410 Gone所請求的文檔已經(jīng)不再可用,而且服務器不知道應該重定向到哪一個地址。它和404的不同在于,返回407表示文檔永久地離開了指定的位置,而404表示由于未知的原因文檔不可用。(HTTP 1.1新)
    411 Length Required服務器不能處理請求,除非客戶發(fā)送一個Content-Length頭。(HTTP 1.1新)
    412 Precondition Failed請求頭中指定的一些前提條件失敗(HTTP 1.1新)。
    413 Request Entity Too Large目標文檔的大小超過服務器當前愿意處理的大小。如果服務器認為自己能夠稍后再處理該請求,則應該提供一個Retry-After頭(HTTP 1.1新)。
    414 Request URI Too LongURI太長(HTTP 1.1新)。
    416 Requested Range Not Satisfiable服務器不能滿足客戶在請求中指定的Range頭。(HTTP 1.1新)
    500 Internal Server Error服務器遇到了意料不到的情況,不能完成客戶的請求。
    501 Not Implemented服務器不支持實現(xiàn)請求所需要的功能。例如,客戶發(fā)出了一個服務器不支持的PUT請求。
    502 Bad Gateway服務器作為網(wǎng)關(guān)或者代理時,為了完成請求訪問下一個服務器,但該服務器返回了非法的應答。
    503 Service Unavailable服務器由于維護或者負載過重未能應答。
    504 Gateway Timeout由作為代理或網(wǎng)關(guān)的服務器使用,表示不能及時地從遠程服務器獲得應答。(HTTP 1.1新)
    505 HTTP Version Not Supported服務器不支持請求中所指明的HTTP版本

    posted on 2010-01-08 09:15 二胡 閱讀(268) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導航:
     
    主站蜘蛛池模板: 日韩免费电影网址| 一二三四在线观看免费高清中文在线观看 | 亚洲另类精品xxxx人妖| 人妻视频一区二区三区免费| 亚洲AV噜噜一区二区三区| 国产亚洲精久久久久久无码77777 国产亚洲精品成人AA片新蒲金 | 亚洲av永久中文无码精品综合 | 一本一道dvd在线观看免费视频| 亚洲国产成人一区二区精品区 | mm1313亚洲国产精品美女| 成在人线av无码免费高潮喷水 | 亚洲AV无码国产精品色午友在线| AV免费网址在线观看| 成人免费av一区二区三区| 亚洲国产美女视频| 亚洲人成影院在线观看| 在线看片免费不卡人成视频| 一区二区三区免费看| 亚洲日韩国产精品乱-久| 亚洲无线一二三四区手机| av无码免费一区二区三区| 久久久久久久久久免免费精品| 国产亚洲精品bv在线观看| 亚洲AV一宅男色影视| 亚洲国产中文v高清在线观看| 久久久久av无码免费网| 中文字幕免费在线看| 亚洲中文无码永久免| 亚洲专区在线视频| 国产日韩成人亚洲丁香婷婷| 99视频在线精品免费观看6| 香蕉成人免费看片视频app下载| 污视频网站在线观看免费| 亚洲精品伊人久久久久| 无码久久精品国产亚洲Av影片 | 久久亚洲一区二区| 亚洲午夜福利精品无码| 国产精品无码一二区免费| 嫖丰满老熟妇AAAA片免费看| 无码人妻AV免费一区二区三区| sss日本免费完整版在线观看|