乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      http協(xié)議中有關(guān)http頭的技術(shù)資料

       Ralf_Jones 2006-03-10
      一、基礎(chǔ)篇
         HTTP(HyperTextTransferProtocol)是超文本傳輸協(xié)議的縮寫(xiě),它用于傳送WWW方式的數(shù)據(jù),關(guān)于HTTP協(xié)議的詳細(xì)內(nèi)容請(qǐng)參考RFC2616。HTTP協(xié)議采用了請(qǐng)求/響應(yīng)模型??蛻?hù)端向服務(wù)器發(fā)送一個(gè)請(qǐng)求,請(qǐng)求頭包含請(qǐng)求的方法、URI、協(xié)議版本、以及包含請(qǐng)求修飾符、客戶(hù)信息和內(nèi)容的類(lèi)似于MIME的消息結(jié)構(gòu)。服務(wù)器以一個(gè)狀態(tài)行作為響應(yīng),相應(yīng)的內(nèi)容包括消息協(xié)議的版本,成功或者錯(cuò)誤編碼加上包含服務(wù)器信息、實(shí)體元信息以及可能的實(shí)體內(nèi)容。
      通常HTTP消息包括客戶(hù)機(jī)向服務(wù)器的請(qǐng)求消息和服務(wù)器向客戶(hù)機(jī)的響應(yīng)消息。這兩種類(lèi)型的消息由一個(gè)起始行,一個(gè)或者多個(gè)頭域,一個(gè)只是頭域結(jié)束的空行和可選的消息體組成。HTTP的頭域包括通用頭,請(qǐng)求頭,響應(yīng)頭和實(shí)體頭四個(gè)部分。每個(gè)頭域由一個(gè)域名,冒號(hào)(:)和域值三部分組成。域名是大小寫(xiě)無(wú)關(guān)的,域值前可以添加任何數(shù)量的空格符,頭域可以被擴(kuò)展為多行,在每行開(kāi)始處,使用至少一個(gè)空格或制表符。
      1、通用頭域
      通用頭域包含請(qǐng)求和響應(yīng)消息都支持的頭域,通用頭域包含Cache-Control、Connection、Date、Pragma、Transfer-Encoding、Upgrade、Via。對(duì)通用頭域的擴(kuò)展要求通訊雙方都支持此擴(kuò)展,如果存在不支持的通用頭域,一般將會(huì)作為實(shí)體頭域處理。下面簡(jiǎn)單介紹幾個(gè)在UPnP消息中使用的通用頭域。
      Cache-Control頭域
      Cache-Control指定請(qǐng)求和響應(yīng)遵循的緩存機(jī)制。在請(qǐng)求消息或響應(yīng)消息中設(shè)置Cache-Control并不會(huì)修改另一個(gè)消息處理過(guò)程中的緩存處理過(guò)程。請(qǐng)求時(shí)的緩存指令包括no-cache、no-store、max-age、max-stale、min-fresh、only-if-cached,響應(yīng)消息中的指令包括public、private、no-cache、no-store、no-transform、must-revalidate、proxy-revalidate、max-age。各個(gè)消息中的指令含義如下:
      Public指示響應(yīng)可被任何緩存區(qū)緩存。
      Private指示對(duì)于單個(gè)用戶(hù)的整個(gè)或部分響應(yīng)消息,不能被共享緩存處理。這允許服務(wù)器僅僅描述當(dāng)用戶(hù)的部分響應(yīng)消息,此響應(yīng)消息對(duì)于其他用戶(hù)的請(qǐng)求無(wú)效。
      no-cache指示請(qǐng)求或響應(yīng)消息不能緩存
      no-store用于防止重要的信息被無(wú)意的發(fā)布。在請(qǐng)求消息中發(fā)送將使得請(qǐng)求和響應(yīng)消息都不使用緩存。
      max-age指示客戶(hù)機(jī)可以接收生存期不大于指定時(shí)間(以秒為單位)的響應(yīng)。
      min-fresh指示客戶(hù)機(jī)可以接收響應(yīng)時(shí)間小于當(dāng)前時(shí)間加上指定時(shí)間的響應(yīng)。
      max-stale指示客戶(hù)機(jī)可以接收超出超時(shí)期間的響應(yīng)消息。如果指定max-stale消息的值,那么客戶(hù)機(jī)可以接收超出超時(shí)期指定值之內(nèi)的響應(yīng)消息。
      Date頭域
      Date頭域表示消息發(fā)送的時(shí)間,時(shí)間的描述格式由rfc822定義。例如,Date:Mon,31Dec200104:25:57GMT。Date描述的時(shí)間表示世界標(biāo)準(zhǔn)時(shí),換算成本地時(shí)間,需要知道用戶(hù)所在的時(shí)區(qū)。
      Pragma頭域
      Pragma頭域用來(lái)包含實(shí)現(xiàn)特定的指令,最常用的是Pragma:no-cache。在HTTP/1.1協(xié)議中,它的含義和Cache-Control:no-cache相同。
      2、請(qǐng)求消息
      請(qǐng)求消息的第一行為下面的格式:
      Method SP Request-URI SP HTTP-Version CRLF 
      Method表示對(duì)于Request-URI完成的方法,這個(gè)字段是大小寫(xiě)敏感的,包括OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE。方法GET和HEAD應(yīng)該被所有的通用WEB服務(wù)器支持,其他所有方法的實(shí)現(xiàn)是可選的。GET方法取回由Request-URI標(biāo)識(shí)的信息。HEAD方法也是取回由Request-URI標(biāo)識(shí)的信息,只是可以在響應(yīng)時(shí),不返回消息體。POST方法可以請(qǐng)求服務(wù)器接收包含在請(qǐng)求中的實(shí)體信息,可以用于提交表單,向新聞組、BBS、郵件群組和數(shù)據(jù)庫(kù)發(fā)送消息。
      SP表示空格。
      Request-URI遵循URI格式,在此字段為星號(hào)(*)時(shí),說(shuō)明請(qǐng)求并不用于某個(gè)特定的資源地址,而是用于服務(wù)器本身。
      HTTP-Version表示支持的HTTP版本,例如為HTTP/1.1。
      CRLF表示換行回車(chē)符。
      請(qǐng)求頭域允許客戶(hù)端向服務(wù)器傳遞關(guān)于請(qǐng)求或者關(guān)于客戶(hù)機(jī)的附加信息。請(qǐng)求頭域可能包含下列字段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。對(duì)請(qǐng)求頭域的擴(kuò)展要求通訊雙方都支持,如果存在不支持的請(qǐng)求頭域,一般將會(huì)作為實(shí)體頭域處理。
      典型的請(qǐng)求消息:
      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客戶(hù)端(可能是瀏覽器、下載程序)通過(guò)GET方法獲得指定URL下的文件。棕色的部分表示請(qǐng)求頭域的信息,綠色的部分表示通用頭部分。
      Host頭域
      Host頭域指定請(qǐng)求資源的Intenet主機(jī)和端口號(hào),必須表示請(qǐng)求url的原始服務(wù)器或網(wǎng)關(guān)的位置。HTTP/1.1請(qǐng)求必須包含主機(jī)頭域,否則系統(tǒng)會(huì)以400狀態(tài)碼返回。
      Referer頭域
      Referer頭域允許客戶(hù)端指定請(qǐng)求uri的源資源地址,這可以允許服務(wù)器生成回退鏈表,可用來(lái)登陸、優(yōu)化cache等。他也允許廢除的或錯(cuò)誤的連接由于維護(hù)的目的被追蹤。如果請(qǐng)求的uri沒(méi)有自己的uri地址,Referer不能被發(fā)送。如果指定的是部分uri地址,則此地址應(yīng)該是一個(gè)相對(duì)地址。
      Range頭域
      Range頭域可以請(qǐng)求實(shí)體的一個(gè)或者多個(gè)子范圍。例如,
      表示頭500個(gè)字節(jié):bytes=0-499
      表示第二個(gè)500字節(jié):bytes=500-999
      表示最后500個(gè)字節(jié):bytes=-500
      表示500字節(jié)以后的范圍:bytes=500-
      第一個(gè)和最后一個(gè)字節(jié):bytes=0-0,-1
      同時(shí)指定幾個(gè)范圍:bytes=500-600,601-999
      但是服務(wù)器可以忽略此請(qǐng)求頭,如果無(wú)條件GET包含Range請(qǐng)求頭,響應(yīng)會(huì)以狀態(tài)碼206(PartialContent)返回而不是以200(OK)。
      User-Agent頭域
      User-Agent頭域的內(nèi)容包含發(fā)出請(qǐng)求的用戶(hù)信息。
      3、響應(yīng)消息
      響應(yīng)消息的第一行為下面的格式:
      HTTP-Version SP Status-Code SP Reason-Phrase CRLF
      HTTP-Version表示支持的HTTP版本,例如為HTTP/1.1。
      Status-Code是一個(gè)三個(gè)數(shù)字的結(jié)果代碼。
      Reason-Phrase給Status-Code提供一個(gè)簡(jiǎn)單的文本描述。Status-Code主要用于機(jī)器自動(dòng)識(shí)別,Reason-Phrase主要用于幫助用戶(hù)理解。Status-Code的第一個(gè)數(shù)字定義響應(yīng)的類(lèi)別,后兩個(gè)數(shù)字沒(méi)有分類(lèi)的作用。第一個(gè)數(shù)字可能取5個(gè)不同的值:
      1xx:信息響應(yīng)類(lèi),表示接收到請(qǐng)求并且繼續(xù)處理
      2xx:處理成功響應(yīng)類(lèi),表示動(dòng)作被成功接收、理解和接受
      3xx:重定向響應(yīng)類(lèi),為了完成指定的動(dòng)作,必須接受進(jìn)一步處理
      4xx:客戶(hù)端錯(cuò)誤,客戶(hù)請(qǐng)求包含語(yǔ)法錯(cuò)誤或者是不能正確執(zhí)行
      5xx:服務(wù)端錯(cuò)誤,服務(wù)器不能正確執(zhí)行一個(gè)正確的請(qǐng)求
      響應(yīng)頭域允許服務(wù)器傳遞不能放在狀態(tài)行的附加信息,這些域主要描述服務(wù)器的信息和Request-URI進(jìn)一步的信息。響應(yīng)頭域包含Age、Location、Proxy-Authenticate、Public、Retry-After、Server、Vary、Warning、WWW-Authenticate。對(duì)響應(yīng)頭域的擴(kuò)展要求通訊雙方都支持,如果存在不支持的響應(yīng)頭域,一般將會(huì)作為實(shí)體頭域處理。
      典型的響應(yīng)消息:
      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服務(wù)端響應(yīng)一個(gè)GET方法。棕色的部分表示響應(yīng)頭域的信息,綠色的部分表示通用頭部分,紅色的部分表示實(shí)體頭域的信息。
      Location響應(yīng)頭
      Location響應(yīng)頭用于重定向接收者到一個(gè)新URI地址。
      Server響應(yīng)頭
      Server響應(yīng)頭包含處理請(qǐng)求的原始服務(wù)器的軟件信息。此域能包含多個(gè)產(chǎn)品標(biāo)識(shí)和注釋?zhuān)a(chǎn)品標(biāo)識(shí)一般按照重要性排序。
      4、實(shí)體信息
      請(qǐng)求消息和響應(yīng)消息都可以包含實(shí)體信息,實(shí)體信息一般由實(shí)體頭域和實(shí)體組成。實(shí)體頭域包含關(guān)于實(shí)體的原信息,實(shí)體頭包括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允許客戶(hù)端定義新的實(shí)體頭,但是這些域可能無(wú)法未接受方識(shí)別。實(shí)體可以是一個(gè)經(jīng)過(guò)編碼的字節(jié)流,它的編碼方式由Content-Encoding或Content-Type定義,它的長(zhǎng)度由Content-Length或Content-Range定義。
      Content-Type實(shí)體頭
      Content-Type 實(shí)體頭用于向接收方指示實(shí)體的介質(zhì)類(lèi)型,指定HEAD方法送到接收方的實(shí)體介質(zhì)類(lèi)型,或GET方法發(fā)送的請(qǐng)求介質(zhì)類(lèi)型Content-Range實(shí)體頭
      Content-Range實(shí)體頭
      用于指定整個(gè)實(shí)體中的一部分的插入位置,他也指示了整個(gè)實(shí)體的長(zhǎng)度。在服務(wù)器向客戶(hù)返回一個(gè)部分響應(yīng),它必須描述響應(yīng)覆蓋的范圍和整個(gè)實(shí)體長(zhǎng)度。一般格式:
      Content-Range:bytes-unit SP first-byte-pos - last-byte-pos/entity-legth
      例如,傳送頭500個(gè)字節(jié)次字段的形式:Content-Range:bytes0-499/1234如果一個(gè)http消息包含此節(jié)(例如,對(duì)范圍請(qǐng)求的響應(yīng)或?qū)σ幌盗蟹秶闹丿B請(qǐng)求),Content-Range表示傳送的范圍,Content-Length表示實(shí)際傳送的字節(jié)數(shù)。
      Last-modified實(shí)體頭
      Last-modified實(shí)體頭指定服務(wù)器上保存內(nèi)容的最后修訂時(shí)間。
      5、 HTTP 頭參考(microsoft)
      HTTP 請(qǐng)求和 HTTP 響應(yīng)都使用頭發(fā)送有關(guān) HTTP 消息的信息。頭由一系列行組成,每行都包含名稱(chēng),然后依次是冒號(hào)、空格、值。字段可按任何順序排列。某些頭字段既能用于請(qǐng)求頭也能用于響應(yīng)頭,而另一些頭字段只能用于其中之一。
      許多請(qǐng)求頭字段都允許客戶(hù)端在值部分指定多個(gè)可接受的選項(xiàng),有時(shí)甚至可以對(duì)這些選項(xiàng)的首選項(xiàng)進(jìn)行排名。多個(gè)項(xiàng)以逗號(hào)分隔。例如,客戶(hù)端可以發(fā)送包含“Content-Encoding: gzip, compress,”的請(qǐng)求頭,表示可以接受各種壓縮類(lèi)型。如果服務(wù)器的響應(yīng)正文使用 gzip 編碼,其響應(yīng)頭中將包含“Content-Encoding: gzip”。
      有些字段可以在單個(gè)頭中出現(xiàn)多次。例如,頭可以有多個(gè)“Warning”字段。
      下表列出了 HTTP 1.1 頭字段。注意:有些頭字段是 MIME 字段。MIME 字段在 Internet Engineering Task Force (IETF) 文檔 RFC 2045 中進(jìn)行了定義,但也可用于 HTTP 1.1 協(xié)議。有關(guān) MIME 和 HTTP 1.1 規(guī)范的詳細(xì)信息,請(qǐng)參閱 IEIF 頁(yè)。
      一般頭字段
      一般頭字段可用于請(qǐng)求消息和響應(yīng)消息。
       名稱(chēng)          示例值
      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"
      請(qǐng)求頭字段
      請(qǐng)求頭字段僅用于請(qǐng)求消息。
         名稱(chēng)             示例值
      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)"
      >>請(qǐng)求頭字段的具體含義
      Accept:瀏覽器可接受的MIME類(lèi)型。
      Accept-Charset:瀏覽器可接受的字符集。
      Accept-Encoding:瀏覽器能夠進(jìn)行解碼的數(shù)據(jù)編碼方式,比如gzip。
      Accept-Language:瀏覽器所希望的語(yǔ)言種類(lèi),當(dāng)服務(wù)器能夠提供一種以上的語(yǔ)言版本時(shí)要用到。
      Authorization:授權(quán)信息,通常出現(xiàn)在對(duì)服務(wù)器發(fā)送的WWW-Authenticate頭的應(yīng)答中。
      Connection:表示是否需要持久連接。如果Servlet看到這里的值為“Keep-Alive”,或者看到請(qǐng)求使用的是HTTP 1.1(HTTP 1.1默認(rèn)進(jìn)行持久連接),它就可以利用持久連接的優(yōu)點(diǎn),當(dāng)頁(yè)面包含多個(gè)元素時(shí)(例如Applet,圖片),顯著地減少下載所需要的時(shí)間。要實(shí)現(xiàn)這一點(diǎn),Servlet需要在應(yīng)答中發(fā)送一個(gè)Content-Length頭,最簡(jiǎn)單的實(shí)現(xiàn)方法是:先把內(nèi)容寫(xiě)入ByteArrayOutputStream,然后在正式寫(xiě)出內(nèi)容之前計(jì)算它的大小。
      Content-Length:表示請(qǐng)求消息正文的長(zhǎng)度。
      Cookie:設(shè)置cookie,這是最重要的請(qǐng)求頭信息之一
      From:請(qǐng)求發(fā)送者的email地址,由一些特殊的Web客戶(hù)程序使用,瀏覽器不會(huì)用到它。
      Host:初始URL中的主機(jī)和端口。
      If-Modified-Since:只有當(dāng)所請(qǐng)求的內(nèi)容在指定的日期之后又經(jīng)過(guò)修改才返回它,否則返回304“Not Modified”應(yīng)答。
      Pragma:指定“no-cache”值表示服務(wù)器必須返回一個(gè)刷新后的文檔,即使它是代理服務(wù)器而且已經(jīng)有了頁(yè)面的本地拷貝。
      Referer:包含一個(gè)URL,用戶(hù)從該URL代表的頁(yè)面出發(fā)訪(fǎng)問(wèn)當(dāng)前請(qǐng)求的頁(yè)面。
      User-Agent:瀏覽器類(lèi)型,如果Servlet返回的內(nèi)容與瀏覽器類(lèi)型有關(guān)則該值非常有用。
      UA-Pixels,UA-Color,UA-OS,UA-CPU:由某些版本的IE瀏覽器所發(fā)送的非標(biāo)準(zhǔn)的請(qǐng)求頭,表示屏幕大小、顏色深度、操作系統(tǒng)和CPU類(lèi)型。
      響應(yīng)頭字段
      響應(yīng)頭字段僅用于響應(yīng)消息。
        名稱(chēng)          示例值
      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]
      實(shí)體頭字段
      實(shí)體頭字段可以用于請(qǐng)求消息或響應(yīng)消息。實(shí)體頭字段中包含消息實(shí)體正文的有關(guān)信息,如使用的編碼格式。
         名稱(chēng)            示例值
      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"
      >>實(shí)體頭字段的具體含義
      Allow 服務(wù)器支持哪些請(qǐng)求方法(如GET、POST等)。
      Content-Encoding 文檔的編碼(Encode)方法。只有在解碼之后才可以得到Content-Type頭指定的內(nèi)容類(lèi)型。利用gzip壓縮文檔能夠顯著地減少HTML文檔的下載時(shí)間。Java的GZIPOutputStream可以很方便地進(jìn)行g(shù)zip壓縮,但只有Unix上的Netscape和Windows上的IE 4、IE 5才支持它。
      Content-Length 表示內(nèi)容長(zhǎng)度。只有當(dāng)瀏覽器使用持久HTTP連接時(shí)才需要這個(gè)數(shù)據(jù)。
      Content-Type 表示后面的文檔屬于什么MIME類(lèi)型。Servlet默認(rèn)為text/plain,但通常需要顯式地指定為text/html。
      Date 當(dāng)前的GMT時(shí)間。你可以用setDateHeader來(lái)設(shè)置這個(gè)頭以避免轉(zhuǎn)換時(shí)間格式的麻煩。
      Expires 應(yīng)該在什么時(shí)候認(rèn)為文檔已經(jīng)過(guò)期,從而不再緩存它?
      Last-Modified 文檔的最后改動(dòng)時(shí)間。客戶(hù)可以通過(guò)If-Modified-Since請(qǐng)求頭提供一個(gè)日期,該請(qǐng)求將被視為一個(gè)條件GET,只有改動(dòng)時(shí)間遲于指定時(shí)間的文檔才會(huì)返回,否則返回一個(gè)304(Not Modified)狀態(tài)。
      Location 表示客戶(hù)應(yīng)當(dāng)?shù)侥睦锶ヌ崛∥臋n。Location通常不是直接設(shè)置的,而是通過(guò)HttpServletResponse的sendRedirect方法,該方法同時(shí)設(shè)置狀態(tài)代碼為302。
      Refresh 表示瀏覽器應(yīng)該在多少時(shí)間之后刷新文檔,以秒計(jì)。除了刷新當(dāng)前文檔之外,你還可以通過(guò)setHeader("Refresh", "5; URL=http://host/path")讓瀏覽器讀取指定的頁(yè)面。
      注意這種功能通常是通過(guò)設(shè)置HTML頁(yè)面HEAD區(qū)的<META HTTP-EQUIV="Refresh" CONTENT="5;URL=http://host/path">實(shí)現(xiàn),這是因?yàn)?,自?dòng)刷新或重定向?qū)τ谀切┎荒苁褂肅GI或Servlet的HTML編寫(xiě)者十分重要。但是,對(duì)于Servlet來(lái)說(shuō),直接設(shè)置Refresh頭更加方便。
      注意Refresh的意義是“N秒之后刷新本頁(yè)面或訪(fǎng)問(wèn)指定頁(yè)面”,而不是“每隔N秒刷新本頁(yè)面或訪(fǎng)問(wèn)指定頁(yè)面”。因此,連續(xù)刷新要求每次都發(fā)送一個(gè)Refresh頭,而發(fā)送204狀態(tài)代碼則可以阻止瀏覽器繼續(xù)刷新,不管是使用Refresh頭還是<META HTTP-EQUIV="Refresh" ...>。
      注意Refresh頭不屬于HTTP 1.1正式規(guī)范的一部分,而是一個(gè)擴(kuò)展,但Netscape和IE都支持它。
      請(qǐng)求頭示例
      以下是 HTTP 請(qǐng)求的簡(jiǎn)單示例。
      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
      該請(qǐng)求具有請(qǐng)求行,其中包括方法 (GET)、資源路徑 (/articles/news/today.asp) 和 HTTP 版本 (HTTP/1.1)。由于該請(qǐng)求沒(méi)有正文,故所有請(qǐng)求行后面的內(nèi)容都是頭的一部分。緊接著頭之后是一個(gè)空行,表示頭已結(jié)束。
      響應(yīng)頭示例
      Web 服務(wù)器可以通過(guò)多種方式響應(yīng)前一個(gè)請(qǐng)求。假設(shè)文件是可以訪(fǎng)問(wèn)的,并且用戶(hù)具有查看該文件的權(quán)限,則響應(yīng)類(lèi)似于:
      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
      ...
      響應(yīng)的第一行稱(chēng)為狀態(tài)行。它包含響應(yīng)所用的 HTTP 版本、狀態(tài)編碼 (200) 和原因短語(yǔ)。示例中包含一個(gè)頭,其中具有五個(gè)字段,接著是一個(gè)空行(回車(chē)和換行符),然后是響應(yīng)正文的頭兩行。
      有關(guān)HTTP頭完整、詳細(xì)的說(shuō)明,請(qǐng)參見(jiàn)http://www./Protocols/的HTTP規(guī)范。
      附錄:HTTP協(xié)議狀態(tài)碼的含義
        狀態(tài)代碼 狀態(tài)信息 含義
      100 Continue 初始的請(qǐng)求已經(jīng)接受,客戶(hù)應(yīng)當(dāng)繼續(xù)發(fā)送請(qǐng)求的其余部分。(HTTP 1.1新)
      101 Switching Protocols 服務(wù)器將遵從客戶(hù)的請(qǐng)求轉(zhuǎn)換到另外一種協(xié)議(HTTP 1.1新
      200 OK 一切正常,對(duì)GET和POST請(qǐng)求的應(yīng)答文檔跟在后面。
      201 Created 服務(wù)器已經(jīng)創(chuàng)建了文檔,Location頭給出了它的URL。
      202 Accepted 已經(jīng)接受請(qǐng)求,但處理尚未完成。
      203 Non-Authoritative Information 文檔已經(jīng)正常地返回,但一些應(yīng)答頭可能不正確,因?yàn)槭褂玫氖俏臋n的拷貝(HTTP 1.1新)。
      204 No Content 沒(méi)有新文檔,瀏覽器應(yīng)該繼續(xù)顯示原來(lái)的文檔。
      205 Reset Content 沒(méi)有新的內(nèi)容,但瀏覽器應(yīng)該重置它所顯示的內(nèi)容。用來(lái)強(qiáng)制瀏覽器清除表單輸入內(nèi)容(HTTP 1.1新)。
      206 Partial Content 客戶(hù)發(fā)送了一個(gè)帶有Range頭的GET請(qǐng)求,服務(wù)器完成了它(HTTP 1.1新)。
      300 Multiple Choices 客戶(hù)請(qǐng)求的文檔可以在多個(gè)位置找到,這些位置已經(jīng)在返回的文檔內(nèi)列出。如果服務(wù)器要提出優(yōu)先選擇,則應(yīng)該在Location應(yīng)答頭指明。
      301 Moved Permanently 客戶(hù)請(qǐng)求的文檔在其他地方,新的URL在Location頭中給出,瀏覽器應(yīng)該自動(dòng)地訪(fǎng)問(wèn)新的URL。
      302 Found 類(lèi)似于301,但新的URL應(yīng)該被視為臨時(shí)性的替代,而不是永久性的。注意,在HTTP1.0中對(duì)應(yīng)的狀態(tài)信息是“Moved Temporatily”,出現(xiàn)該狀態(tài)代碼時(shí),瀏覽器能夠自動(dòng)訪(fǎng)問(wèn)新的URL,因此它是一個(gè)很有用的狀態(tài)代碼。注意這個(gè)狀態(tài)代碼有時(shí)候可以和301替換使用。例如,如果瀏覽器錯(cuò)誤地請(qǐng)求http://host/~user(缺少了后面的斜杠),有的服務(wù)器返回301,有的則返回302。嚴(yán)格地說(shuō),我們只能假定只有當(dāng)原來(lái)的請(qǐng)求是GET時(shí)瀏覽器才會(huì)自動(dòng)重定向。請(qǐng)參見(jiàn)307。
      303 See Other 類(lèi)似于301/302,不同之處在于,如果原來(lái)的請(qǐng)求是POST,Location頭指定的重定向目標(biāo)文檔應(yīng)該通過(guò)GET提?。℉TTP 1.1新)。
      304 Not Modified 客戶(hù)端有緩沖的文檔并發(fā)出了一個(gè)條件性的請(qǐng)求(一般是提供If-Modified-Since頭表示客戶(hù)只想比指定日期更新的文檔)。服務(wù)器告訴客戶(hù),原來(lái)緩沖的文檔還可以繼續(xù)使用。
      305 Use Proxy 客戶(hù)請(qǐng)求的文檔應(yīng)該通過(guò)Location頭所指明的代理服務(wù)器提?。℉TTP 1.1新)。
      307 Temporary Redirect 和302(Found)相同。許多瀏覽器會(huì)錯(cuò)誤地響應(yīng)302應(yīng)答進(jìn)行重定向,即使原來(lái)的請(qǐng)求是POST,即使它實(shí)際上只能在POST請(qǐng)求的應(yīng)答是303時(shí)才能重定向。由于這個(gè)原因,HTTP 1.1新增了307,以便更加清除地區(qū)分幾個(gè)狀態(tài)代碼:當(dāng)出現(xiàn)303應(yīng)答時(shí),瀏覽器可以跟隨重定向的GET和POST請(qǐng)求;如果是307應(yīng)答,則瀏覽器只能跟隨對(duì)GET請(qǐng)求的重定向。(HTTP 1.1新)
      400 Bad Request 請(qǐng)求出現(xiàn)語(yǔ)法錯(cuò)誤。
      401 Unauthorized 客戶(hù)試圖未經(jīng)授權(quán)訪(fǎng)問(wèn)受密碼保護(hù)的頁(yè)面。應(yīng)答中會(huì)包含一個(gè)WWW-Authenticate頭,瀏覽器據(jù)此顯示用戶(hù)名字/密碼對(duì)話(huà)框,然后在填寫(xiě)合適的Authorization頭后再次發(fā)出請(qǐng)求。
      403 Forbidden 資源不可用。服務(wù)器理解客戶(hù)的請(qǐng)求,但拒絕處理它。通常由于服務(wù)器上文件或目錄的權(quán)限設(shè)置導(dǎo)致。
      404 Not Found 無(wú)法找到指定位置的資源。這也是一個(gè)常用的應(yīng)答,
      405 Method Not Allowed 請(qǐng)求方法(GET、POST、HEAD、DELETE、PUT、TRACE等)對(duì)指定的資源不適用。(HTTP 1.1新)
      406 Not Acceptable 指定的資源已經(jīng)找到,但它的MIME類(lèi)型和客戶(hù)在A(yíng)ccpet頭中所指定的不兼容(HTTP 1.1新)。
      407 Proxy Authentication Required 類(lèi)似于401,表示客戶(hù)必須先經(jīng)過(guò)代理服務(wù)器的授權(quán)。(HTTP 1.1新)
      408 Request Timeout 在服務(wù)器許可的等待時(shí)間內(nèi),客戶(hù)一直沒(méi)有發(fā)出任何請(qǐng)求??蛻?hù)可以在以后重復(fù)同一請(qǐng)求。(HTTP 1.1新)
      409 Conflict 通常和PUT請(qǐng)求有關(guān)。由于請(qǐng)求和資源的當(dāng)前狀態(tài)相沖突,因此請(qǐng)求不能成功。(HTTP 1.1新)
      410 Gone 所請(qǐng)求的文檔已經(jīng)不再可用,而且服務(wù)器不知道應(yīng)該重定向到哪一個(gè)地址。它和404的不同在于,返回407表示文檔永久地離開(kāi)了指定的位置,而404表示由于未知的原因文檔不可用。(HTTP 1.1新)
      411 Length Required 服務(wù)器不能處理請(qǐng)求,除非客戶(hù)發(fā)送一個(gè)Content-Length頭。(HTTP 1.1新)
      412 Precondition Failed 請(qǐng)求頭中指定的一些前提條件失?。℉TTP 1.1新)。
      413 Request Entity Too Large 目標(biāo)文檔的大小超過(guò)服務(wù)器當(dāng)前愿意處理的大小。如果服務(wù)器認(rèn)為自己能夠稍后再處理該請(qǐng)求,則應(yīng)該提供一個(gè)Retry-After頭(HTTP 1.1新)。
      414 Request URI Too Long URI太長(zhǎng)(HTTP 1.1新)。
      416 Requested Range Not Satisfiable 服務(wù)器不能滿(mǎn)足客戶(hù)在請(qǐng)求中指定的Range頭。(HTTP 1.1新)
      500 Internal Server Error 服務(wù)器遇到了意料不到的情況,不能完成客戶(hù)的請(qǐng)求。
      501 Not Implemented 服務(wù)器不支持實(shí)現(xiàn)請(qǐng)求所需要的功能。例如,客戶(hù)發(fā)出了一個(gè)服務(wù)器不支持的PUT請(qǐng)求。
      502 Bad Gateway 服務(wù)器作為網(wǎng)關(guān)或者代理時(shí),為了完成請(qǐng)求訪(fǎng)問(wèn)下一個(gè)服務(wù)器,但該服務(wù)器返回了非法的應(yīng)答。
      503 Service Unavailable 服務(wù)器由于維護(hù)或者負(fù)載過(guò)重未能應(yīng)答。
      504 Gateway Timeout 由作為代理或網(wǎng)關(guān)的服務(wù)器使用,表示不能及時(shí)地從遠(yuǎn)程服務(wù)器獲得應(yīng)答。(HTTP 1.1新)
      505 HTTP Version Not Supported 服務(wù)器不支持請(qǐng)求中所指明的HTTP版本。(HTTP 1.1新)
      From: 整理  2005-8-8

      1 評(píng)論

      Google到如下內(nèi)容:

      Lazy Update

      Internet Explorer 5有一項(xiàng)叫作Lazy Update (“懶惰”更新)的新特性。Lazy Update可以使網(wǎng)站將一個(gè)對(duì)象緩存起來(lái),同時(shí)又可以計(jì)算此對(duì)象的被點(diǎn)擊數(shù)。這對(duì)廣告圖像、首頁(yè)或搜索頁(yè)是非常有用的。在這些頁(yè)面上,你希望用戶(hù)立即看到頁(yè)面,但是你又想在某些地方更新內(nèi)容并且跟蹤記錄有多少人已看過(guò)你的頁(yè)面。對(duì)于一個(gè)Lazy Update頁(yè)面,在它首次被訪(fǎng)問(wèn)時(shí),其上的對(duì)象就被下載并被高速緩存起來(lái)。接下來(lái),用戶(hù)看到的是被緩存起來(lái)的內(nèi)容。如果服務(wù)器有了新的內(nèi)容,則該頁(yè)面將會(huì)在后臺(tái)被下載到高速緩存中。當(dāng)用戶(hù)下次訪(fǎng)問(wèn)該頁(yè)面時(shí),將顯示被更新的內(nèi)容。

      為了支持這種功能,Internet Explorer 5對(duì)于HTTP頭信息使用兩種新的時(shí)間間隔指示:pre-check 和post-check。pre-check擴(kuò)展名定義了這樣一段時(shí)間間隔(以秒記):即在這段時(shí)間間隔之后,一個(gè)對(duì)象在顯示給用戶(hù)之前應(yīng)被選中進(jìn)行更新。選中對(duì)象也可以發(fā)生在該對(duì)象已經(jīng)顯示給用戶(hù)之后,但是,要保證在用戶(hù)下次想要看這個(gè)對(duì)象時(shí),被高速緩存起來(lái)的副本是更新過(guò)的。post-check擴(kuò)展名定義了這樣一段時(shí)間間隔(以秒記):即在這段時(shí)間之后,在顯示給用戶(hù)之前,該對(duì)象被選中進(jìn)行更新。因?yàn)檫@兩個(gè)擴(kuò)展名是對(duì)HTTP

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶(hù) 評(píng)論公約

        類(lèi)似文章 更多