日韩一区,国产二区,欧美三区,日本大片在线看黄a∨免费,欧美人体做爰大胆视频,欧洲美女黑人粗性暴交视频,日,韩,欧美一区二区三区

瀏覽器HTTP協(xié)議請(qǐng)求頭信息解讀

通常HTTP消息包括客戶機(jī)向服務(wù)器的請(qǐng)求消息和服務(wù)器向客戶機(jī)的響應(yīng)消息??蛻舳讼蚍?wù)器發(fā)送一個(gè)請(qǐng)求,請(qǐng)求頭包含請(qǐng)求的方法、URI、協(xié)議版本、以及包含請(qǐng)求修飾符、客戶信息和內(nèi)容的類似于MIME的消息結(jié)構(gòu)。服務(wù)器以一個(gè)狀態(tài)行作為響應(yīng),相應(yīng)的內(nèi)容包括消息協(xié)議的版本,成功或者錯(cuò)誤編碼加上包含服務(wù)器信息、實(shí)體元信息以及可能的實(shí)體內(nèi)容。

瀏覽器HTTP協(xié)議請(qǐng)求頭信息解讀插圖

Http協(xié)議定義了很多與服務(wù)器交互的方法,最基本的有4種,分別是GET、POST、PUT、DELETE。一個(gè)URL地址用于描述一個(gè)網(wǎng)絡(luò)上的資源,而HTTP中的GET、POST、PUT、 DELETE就對(duì)應(yīng)著對(duì)這個(gè)資源的查、改、增、刪4個(gè)操作,我們最常見的就是GET和POST了。GET一般用于獲取/查詢資源信息,而POST一般用于更新資源信息。

一、HTTP頭信息解讀

HTTP的頭域包括通用頭、請(qǐng)求頭、響應(yīng)頭和實(shí)體頭四個(gè)部分。每個(gè)頭域由一個(gè)域名,冒號(hào)(:)和域值三部分組成。

通用頭部:是客戶端和服務(wù)器都可以使用的頭部,可以在客戶端、服務(wù)器和其他應(yīng)用程序之間提供一些非常有用的通用功能,如Date頭部。

請(qǐng)求頭部:是請(qǐng)求報(bào)文特有的,它們?yōu)榉?wù)器提供了一些額外信息,比如客戶端希望接收什么類型的數(shù)據(jù),如Accept頭部。

響應(yīng)頭部:便于客戶端提供信息,比如,客服端在與哪種類型的服務(wù)器進(jìn)行交互,如Server頭部。

實(shí)體頭部:指的是用于應(yīng)對(duì)實(shí)體主體部分的頭部,比如,可以用實(shí)體頭部來(lái)說明實(shí)體主體部分的數(shù)據(jù)類型,如Content-Type頭部。

?????1、HTTP通用頭

通用頭域包含請(qǐng)求和響應(yīng)消息都支持的頭域,通用頭域包含緩存頭部Cache-Control、Pragma及信息性頭部Connection、Date、Transfer-Encoding、Update、Via。

1、Cache-Control

Cache-Control指定請(qǐng)求和響應(yīng)遵循的緩存機(jī)制。在請(qǐng)求消息或響應(yīng)消息中設(shè)置 Cache-Control并不會(huì)修改另一個(gè)消息處理過程中的緩存處理過程。請(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è)消息中的指令含義如下:

no-cache:指示請(qǐng)求或響應(yīng)消息不能緩存,實(shí)際上是可以存儲(chǔ)在本地緩存區(qū)中的,只是在與原始服務(wù)器進(jìn)行新鮮度驗(yàn)證之前,緩存不能將其提供給客戶端使用。

no-store:緩存應(yīng)該盡快從存儲(chǔ)器中刪除文檔的所有痕跡,因?yàn)槠渲锌赡軙?huì)包含敏感信息。

max-age:緩存無(wú)法返回緩存時(shí)間長(zhǎng)于max-age規(guī)定秒的文檔,若不超規(guī)定秒瀏覽器將不會(huì)發(fā)送對(duì)應(yīng)的請(qǐng)求到服務(wù)器,數(shù)據(jù)由緩存直接返回;超過這一時(shí)間段才進(jìn)一步由服務(wù)器決定是返回新數(shù)據(jù)還是仍由緩存提供。若同時(shí)還發(fā)送了max-stale指令,則使用期可能會(huì)超過其過期時(shí)間。

min-fresh:至少在未來(lái)規(guī)定秒內(nèi)文檔要保持新鮮,接受其新鮮生命期大于其當(dāng)前 Age 跟 min-fresh 值之和的緩存對(duì)象。

max-stale:指示客戶端可以接收過期響應(yīng)消息,如果指定max-stale消息的值,那么客戶端可以接收過期但在指定值之內(nèi)的響應(yīng)消息。

only-if-cached:只有當(dāng)緩存中有副本存在時(shí),客戶端才會(huì)獲得一份副本。

Public:指示響應(yīng)可被任何緩存區(qū)緩存,可以用緩存內(nèi)容回應(yīng)任何用戶。

Private:指示對(duì)于單個(gè)用戶的整個(gè)或部分響應(yīng)消息,不能被共享緩存處理,只能用緩存內(nèi)容回應(yīng)先前請(qǐng)求該內(nèi)容的那個(gè)用戶。

2、Pragma

Pragma頭域用來(lái)包含實(shí)現(xiàn)特定的指令,最常用的是Pragma:no-cache。在HTTP/1.1協(xié)議中,它的含義和Cache- Control:no-cache相同。

3、Connection

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)容寫入ByteArrayOutputStream,然后在正式寫出內(nèi)容之前計(jì)算它的大小。

Close:告訴WEB服務(wù)器或者代理服務(wù)器,在完成本次請(qǐng)求的響應(yīng)后,斷開連接,不要等待本次連接的后續(xù)請(qǐng)求了。

Keepalive:告訴WEB服務(wù)器或者代理服務(wù)器,在完成本次請(qǐng)求的響應(yīng)后,保持連接,等待本次連接的后續(xù)請(qǐng)求。

Keep-Alive:如果瀏覽器請(qǐng)求保持連接,則該頭部表明希望 WEB 服務(wù)器保持連接多長(zhǎng)時(shí)間(秒),如Keep-Alive:300。

4、Date

Date頭域表示消息發(fā)送的時(shí)間,服務(wù)器響應(yīng)中要包含這個(gè)頭部,因?yàn)榫彺嬖谠u(píng)估響應(yīng)的新鮮度時(shí)要用到,其時(shí)間的描述格式由RFC822定義。例如,Date:Mon, 31 Dec 2001 04:25:57 GMT。Date描述的時(shí)間表示世界標(biāo)準(zhǔn)時(shí),換算成本地時(shí)間,需要知道用戶所在的時(shí)區(qū)。

5、Transfer-Encoding

WEB 服務(wù)器表明自己對(duì)本響應(yīng)消息體(不是消息體里面的對(duì)象)作了怎樣的編碼,比如是否分塊(chunked),例如:Transfer-Encoding: chunked

6、Upgrade

它可以指定另一種可能完全不同的協(xié)議,如HTTP/1.1客戶端可以向服務(wù)器發(fā)送一條HTTP/1.0請(qǐng)求,其中包含值為“HTTP/1.1”的Update頭部,這樣客戶端就可以測(cè)試一下服務(wù)器是否也使用HTTP/1.1了。

7、Via

列出從客戶端到 OCS 或者相反方向的響應(yīng)經(jīng)過了哪些代理服務(wù)器,他們用什么協(xié)議(和版本)發(fā)送的請(qǐng)求。

當(dāng)客戶端請(qǐng)求到達(dá)第一個(gè)代理服務(wù)器時(shí),該服務(wù)器會(huì)在自己發(fā)出的請(qǐng)求里面添加 Via 頭部,并填上自己的相關(guān)信息,當(dāng)下一個(gè)代理服務(wù)器 收到第一個(gè)代理服務(wù)器的請(qǐng)求時(shí),會(huì)在自己發(fā)出的請(qǐng)求里面復(fù)制前一個(gè)代理服務(wù)器的請(qǐng)求的Via頭部,并把自己的相關(guān)信息加到后面,以此類推,當(dāng) OCS 收到最后一個(gè)代理服務(wù)器的請(qǐng)求時(shí),檢查 Via 頭部,就知道該請(qǐng)求所經(jīng)過的路由。例如:Via:1.0 236-81.D07071953.sina.com.cn:80 (squid/2.6.STABLE13)

?????2、HTTP請(qǐng)求頭

請(qǐng)求頭用于說明是誰(shuí)或什么在發(fā)送請(qǐng)求、請(qǐng)求源于何處,或者客戶端的喜好及能力。服務(wù)器可以根據(jù)請(qǐng)求頭部給出的客戶端信息,試著為客戶端提供更好的響應(yīng)。請(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í)體頭域處理。

8、Accept

告訴WEB服務(wù)器自己接受什么介質(zhì)類型,*/* 表示任何類型,type/* 表示該類型下的所有子類型,type/sub-type。

9、Accept-Charset

瀏覽器告訴服務(wù)器自己能接收的字符集。

10、Accept-Encoding

瀏覽器申明自己接收的編碼方法,通常指定壓縮方法,是否支持壓縮,支持什么壓縮方法(gzip,deflate)。

11、Accept-Language

瀏覽器申明自己接收的語(yǔ)言。語(yǔ)言跟字符集的區(qū)別:中文是語(yǔ)言,中文有多種字符集,比如big5,gb2312,gbk等等。

12、Authorization

當(dāng)客戶端接收到來(lái)自WEB服務(wù)器的 WWW-Authenticate 響應(yīng)時(shí),用該頭部來(lái)回應(yīng)自己的身份驗(yàn)證信息給WEB服務(wù)器。

13、If-Match

如果對(duì)象的 ETag 沒有改變,其實(shí)也就意味著對(duì)象沒有改變,才執(zhí)行請(qǐng)求的動(dòng)作,獲取文檔。

14、If-None-Match

如果對(duì)象的 ETag 改變了,其實(shí)也就意味著對(duì)象也改變了,才執(zhí)行請(qǐng)求的動(dòng)作,獲取文檔。

15、If-Modified-Since

如果請(qǐng)求的對(duì)象在該頭部指定的時(shí)間之后修改了,才執(zhí)行請(qǐng)求的動(dòng)作(比如返回對(duì)象),否則返回代碼304,告訴瀏覽器該對(duì)象沒有修改。例如:If-Modified-Since:Thu, 10 Apr 2008 09:14:42 GMT

16、If-Unmodified-Since

如果請(qǐng)求的對(duì)象在該頭部指定的時(shí)間之后沒修改過,才執(zhí)行請(qǐng)求的動(dòng)作(比如返回對(duì)象)。

17、If-Range

瀏覽器告訴 WEB 服務(wù)器,如果我請(qǐng)求的對(duì)象沒有改變,就把我缺少的部分給我,如果對(duì)象改變了,就把整個(gè)對(duì)象給我。瀏覽器通過發(fā)送請(qǐng)求對(duì)象的ETag 或者自己所知道的最后修改時(shí)間給 WEB 服務(wù)器,讓其判斷對(duì)象是否改變了??偸歉?Range 頭部一起使用。

18、Range

瀏覽器(比如 Flashget 多線程下載時(shí))告訴 WEB 服務(wù)器自己想取對(duì)象的哪部分。例如:Range: bytes=1173546

19、Proxy-Authenticate

代理服務(wù)器響應(yīng)瀏覽器,要求其提供代理身份驗(yàn)證信息。

20、Proxy-Authorization

瀏覽器響應(yīng)代理服務(wù)器的身份驗(yàn)證請(qǐng)求,提供自己的身份信息。

21、Host

客戶端指定自己想訪問的WEB服務(wù)器的域名/IP 地址和端口號(hào)。如Host:rss.sina.com.cn

22、Referer

瀏覽器向WEB 服務(wù)器表明自己是從哪個(gè)網(wǎng)頁(yè)URL獲得點(diǎn)擊當(dāng)前請(qǐng)求中的網(wǎng)址/URL,例如:Referer:http://www.ecdoer.com/

23、User-Agent

瀏覽器表明自己的身份(是哪種瀏覽器)。例如:User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN;rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14

  3、HTTP響應(yīng)頭

響應(yīng)頭向客戶端提供一些額外信息,比如誰(shuí)在發(fā)送響應(yīng)、響應(yīng)者的功能,甚至與響應(yīng)相關(guān)的一些特殊指令。這些頭部有助于客戶端處理響應(yīng),并在將來(lái)發(fā)起更好的請(qǐng)求。響應(yīng)頭域包含Age、Location、Proxy-Authenticate、Public、Retry- After、Server、Vary、Warning、WWW-Authenticate。對(duì)響應(yīng)頭域的擴(kuò)展要求通訊雙方都支持,如果存在不支持的響應(yīng)頭域,一般將會(huì)作為實(shí)體頭域處理。

24、Age

當(dāng)代理服務(wù)器用自己緩存的實(shí)體去響應(yīng)請(qǐng)求時(shí),用該頭部表明該實(shí)體從產(chǎn)生到現(xiàn)在經(jīng)過多長(zhǎng)時(shí)間了。

25、Server

WEB 服務(wù)器表明自己是什么軟件及版本等信息。例如:Server:Apache/2.0.61 (Unix)

26、Accept-Ranges

WEB服務(wù)器表明自己是否接受獲取其某個(gè)實(shí)體的一部分(比如文件的一部分)的請(qǐng)求。bytes:表示接受,none:表示不接受。

27、Vary

WEB服務(wù)器用該頭部的內(nèi)容告訴 Cache 服務(wù)器,在什么條件下才能用本響應(yīng)所返回的對(duì)象響應(yīng)后續(xù)的請(qǐng)求。假如源WEB服務(wù)器在接到第一個(gè)請(qǐng)求消息時(shí),其響應(yīng)消息的頭部為:Content-Encoding: gzip; Vary: Content-Encoding,那么Cache服務(wù)器會(huì)分析后續(xù)請(qǐng)求消息的頭部,檢查其Accept-Encoding,是否跟先前響應(yīng)的Vary頭部值一致,即是否使用相同的內(nèi)容編碼方法,這樣就可以防止Cache服務(wù)器用自己Cache 里面壓縮后的實(shí)體響應(yīng)給不具備解壓能力的瀏覽器。例如:Vary:Accept-Encoding。

?????4、HTTP實(shí)體頭

實(shí)體頭部提供了有關(guān)實(shí)體及其內(nèi)容的大量信息,從有關(guān)對(duì)象類型的信息,到能夠?qū)Y源使用的各種有效的請(qǐng)求方法??傊?,實(shí)體頭部可以告知接收者它在對(duì)什么進(jìn)行處理。請(qǐng)求消息和響應(yīng)消息都可以包含實(shí)體信息,實(shí)體信息一般由實(shí)體頭域和實(shí)體組成。實(shí)體頭域包含關(guān)于實(shí)體的原信息,實(shí)體頭包括信息性頭部Allow、Location,內(nèi)容頭部Content-Base、Content-Encoding、Content-Language、Content-Length、Content-Location、Content-MD5、Content-Range、Content-Type,緩存頭部Etag、Expires、Last-Modified、extension-header。

28、Allow

服務(wù)器支持哪些請(qǐng)求方法(如GET、POST等)。

29、Location

表示客戶應(yīng)當(dāng)?shù)侥睦锶ヌ崛∥臋n,用于將接收端定位到資源的位置(URL)上。Location通常不是直接設(shè)置的,而是通過HttpServletResponse的sendRedirect方法,該方法同時(shí)設(shè)置狀態(tài)代碼為302。

30、Content-Base

解析主體中的相對(duì)URL時(shí)使用的基礎(chǔ)URL。

31、Content-Encoding

WEB服務(wù)器表明自己使用了什么壓縮方法(gzip,deflate)壓縮響應(yīng)中的對(duì)象。例如:Content-Encoding:gzip

32、Content-Language

WEB 服務(wù)器告訴瀏覽器理解主體時(shí)最適宜使用的自然語(yǔ)言。

33、Content-Length

WEB服務(wù)器告訴瀏覽器自己響應(yīng)的對(duì)象的長(zhǎng)度或尺寸,例如:Content-Length: 26012

34、Content-Location

資源實(shí)際所處的位置。

35、Content-MD5

主體的MD5校驗(yàn)和。

36、Content-Range

實(shí)體頭用于指定整個(gè)實(shí)體中的一部分的插入位置,他也指示了整個(gè)實(shí)體的長(zhǎng)度。在服務(wù)器向客戶返回一個(gè)部分響應(yīng),它必須描述響應(yīng)覆蓋的范圍和整個(gè)實(shí)體長(zhǎng)度。一般格式: Content-Range:bytes-unitSPfirst-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ù)。

37、Content-Type

WEB 服務(wù)器告訴瀏覽器自己響應(yīng)的對(duì)象的類型。例如:Content-Type:application/xml

38、Etag

就是一個(gè)對(duì)象(比如URL)的標(biāo)志值,就一個(gè)對(duì)象而言,比如一個(gè)html文件,如果被修改了,其Etag也會(huì)別修改,所以,ETag的作用跟Last-Modified的作用差不多,主要供WEB服務(wù)器判斷一個(gè)對(duì)象是否改變了。比如前一次請(qǐng)求某個(gè)html文件時(shí),獲得了其 ETag,當(dāng)這次又請(qǐng)求這個(gè)文件時(shí),瀏覽器就會(huì)把先前獲得ETag值發(fā)送給WEB服務(wù)器,然后WEB服務(wù)器會(huì)把這個(gè)ETag跟該文件的當(dāng)前ETag進(jìn)行對(duì)比,然后就知道這個(gè)文件有沒有改變了。

39、Expires

WEB服務(wù)器表明該實(shí)體將在什么時(shí)候過期,對(duì)于過期了的對(duì)象,只有在跟WEB服務(wù)器驗(yàn)證了其有效性后,才能用來(lái)響應(yīng)客戶請(qǐng)求。是 HTTP/1.0 的頭部。例如:Expires:Sat, 23 May 2009 10:02:12 GMT

40、Last-Modified

WEB服務(wù)器認(rèn)為對(duì)象的最后修改時(shí)間,比如文件的最后修改時(shí)間,動(dòng)態(tài)頁(yè)面的最后產(chǎn)生時(shí)間等等。例如:Last-Modified:Tue, 06 May 2008 02:42:43 GMT

二、HTTP Request的Header信息

1、HTTP請(qǐng)求方式

瀏覽器HTTP協(xié)議請(qǐng)求頭信息解讀插圖1

說明:主要使用到“GET”和“POST”。

實(shí)例: POST /test/tupian/cm HTTP/1.1

分成三部分:

(1)POST:HTTP請(qǐng)求方式

(2)/test/tupian/cm:請(qǐng)求Web服務(wù)器的目錄地址(或者指令)

(3)HTTP/1.1: URI(Uniform Resource Identifier,統(tǒng)一資源標(biāo)識(shí)符)及其版本

備注:在Ajax中,對(duì)應(yīng)method屬性設(shè)置。

2、Host

說明:請(qǐng)求的web服務(wù)器域名地址

3、User-Agent

說明:HTTP客戶端運(yùn)行的瀏覽器類型的詳細(xì)信息。通過該頭部信息,web服務(wù)器可以判斷到當(dāng)前HTTP請(qǐng)求的客戶端瀏覽器類別。

實(shí)例:User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; zh-CN; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11

4、Accept

說明:指定客戶端能夠接收的內(nèi)容類型,內(nèi)容類型中的先后次序表示客戶端接收的先后次序。

實(shí)例:Accept:text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5

備注:在Prototyp(1.5)的Ajax代碼封裝中,將Accept默認(rèn)設(shè)置為“text/javascript, text/html, application/xml, text/xml, */*”。這是因?yàn)锳jax默認(rèn)獲取服務(wù)器返回的Json數(shù)據(jù)模式。在Ajax代碼中,可以使用XMLHttpRequest 對(duì)象中setRequestHeader函數(shù)方法來(lái)動(dòng)態(tài)設(shè)置這些Header信息。

5、Accept-Language

說明:指定HTTP客戶端瀏覽器用來(lái)展示返回信息所優(yōu)先選擇的語(yǔ)言。

實(shí)例:Accept-Language: zh-cn,zh;q=0.5 這里默認(rèn)為中文。

6、Accept-Encoding

說明:指定客戶端瀏覽器可以支持的web服務(wù)器返回內(nèi)容壓縮編碼類型。表示允許服務(wù)器在將輸出內(nèi)容發(fā)送到客戶端以前進(jìn)行壓縮,以節(jié)約帶寬。而這里設(shè)置的就是客戶端瀏覽器所能夠支持的返回壓縮格式。

實(shí)例:Accept-Encoding: gzip,deflate

備注:其實(shí)在百度很多產(chǎn)品線中,apache在給客戶端返回頁(yè)面數(shù)據(jù)之前,將數(shù)據(jù)以gzip格式進(jìn)行壓縮。

7、Accept-Charset

說明:瀏覽器可以接受的字符編碼集。

實(shí)例:Accept-Charset: gb2312,utf-8;q=0.7,*;q=0.7

8、Content-Type

說明:顯示此HTTP請(qǐng)求提交的內(nèi)容類型。一般只有post提交時(shí)才需要設(shè)置該屬性。

實(shí)例:Content-type: application/x-www-form-urlencoded;charset:UTF-8

備注:有關(guān)Content-Type屬性值可以如下兩種編碼類型:

(1)“application/x-www-form-urlencoded”: 表單數(shù)據(jù)向服務(wù)器提交時(shí)所采用的編碼類型,默認(rèn)的缺省值就是“application/x-www-form-urlencoded”。 然而,在向服務(wù)器發(fā)送大量的文本、包含非ASCII字符的文本或二進(jìn)制數(shù)據(jù)時(shí)這種編碼方式效率很低。

(2)“multipart/form-data”: 在文件上載時(shí),所使用的編碼類型應(yīng)當(dāng)是“multipart/form-data”,它既可以發(fā)送文本數(shù)據(jù),也支持二進(jìn)制數(shù)據(jù)上載。

當(dāng)提交為單單數(shù)據(jù)時(shí),可以使用“application/x-www-form-urlencoded”;當(dāng)提交的是文件時(shí),就需要使用“multipart/form-data”編碼類型。

在Content-Type屬性當(dāng)中還是指定提交內(nèi)容的charset字符編碼。一般不進(jìn)行設(shè)置,它只是告訴web服務(wù)器post提交的數(shù)據(jù)采用的何種字符編碼。

一般在開發(fā)過程,是由前端工程與后端UI工程師商量好使用什么字符編碼格式來(lái)post提交的,然后后端ui工程師按照固定的字符編碼來(lái)解析提交的數(shù)據(jù)。所以這里設(shè)置的charset沒有多大作用。

9、Connection

說明:表示是否需要持久連接。如果web服務(wù)器端看到這里的值為“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), web服務(wù)器需要在返回給客戶端HTTP頭信息中發(fā)送一個(gè)Content-Length(返回信息正文的長(zhǎng)度)頭,最簡(jiǎn)單的實(shí)現(xiàn)方法是:先把內(nèi)容寫入ByteArrayOutputStream,然 后在正式寫出內(nèi)容之前計(jì)算它的大小。

實(shí)例:Connection: keep-alive

10、Keep-Alive

說明:顯示此HTTP連接的Keep-Alive時(shí)間。使客戶端到服務(wù)器端的連接持續(xù)有效,當(dāng)出現(xiàn)對(duì)服務(wù)器的后繼請(qǐng)求時(shí),Keep-Alive功能避免了建立或者重新建立連接。以前HTTP請(qǐng)求是一站式連接,從HTTP/1.1協(xié)議之后,就有了長(zhǎng)連接,即在規(guī)定的Keep-Alive時(shí)間內(nèi),連接是不會(huì)斷開的。

實(shí)例:Keep-Alive: 300

11、cookie

說明:HTTP請(qǐng)求發(fā)送時(shí),會(huì)把保存在該請(qǐng)求域名下的所有cookie值一起發(fā)送給web服務(wù)器。

12、Referer

說明:包含一個(gè)URL,用戶從該URL代表的頁(yè)面出發(fā)訪問當(dāng)前請(qǐng)求的頁(yè)面

13、HTTP Response的Header信息

Header 解釋 示例
Accept-Ranges 表明服務(wù)器是否支持指定范圍請(qǐng)求及哪種類型的分段請(qǐng)求 Accept-Ranges: bytes
Age 從原始服務(wù)器到代理緩存形成的估算時(shí)間(以秒計(jì),非負(fù)) Age: 12
Allow 對(duì)某網(wǎng)絡(luò)資源的有效的請(qǐng)求行為,不允許則返回405 Allow: GET, HEAD
Cache-Control 告訴所有的緩存機(jī)制是否可以緩存及哪種類型 Cache-Control: no-cache
Content-Encoding web服務(wù)器支持的返回內(nèi)容壓縮編碼類型。 Content-Encoding: gzip
Content-Language 響應(yīng)體的語(yǔ)言 Content-Language: en,zh
Content-Length 響應(yīng)體的長(zhǎng)度 Content-Length: 348
Content-Location 請(qǐng)求資源可替代的備用的另一地址 Content-Location: /index.htm
Content-MD5 返回資源的MD5校驗(yàn)值 Content-MD5: Q2hlY2sgSW50ZWdyaXR5IQ==
Content-Range 在整個(gè)返回體中本部分的字節(jié)位置 Content-Range: bytes 21010-47021/47022
Content-Type 返回內(nèi)容的MIME類型 Content-Type: text/html; charset=utf-8
Date 原始服務(wù)器消息發(fā)出的時(shí)間 Date: Tue, 15 Nov 2010 08:12:31 GMT
ETag 請(qǐng)求變量的實(shí)體標(biāo)簽的當(dāng)前值 ETag: “737060cd8c284d8af7ad3082f209582d”
Expires 響應(yīng)過期的日期和時(shí)間 Expires: Thu, 01 Dec 2010 16:00:00 GMT
Last-Modified 請(qǐng)求資源的最后修改時(shí)間 Last-Modified: Tue, 15 Nov 2010 12:45:26 GMT
Location 用來(lái)重定向接收方到非請(qǐng)求URL的位置來(lái)完成請(qǐng)求或標(biāo)識(shí)新的資源 Location: http://www.zcmhi.com/archives/94.html
Pragma 包括實(shí)現(xiàn)特定的指令,它可應(yīng)用到響應(yīng)鏈上的任何接收方 Pragma: no-cache
Proxy-Authenticate 它指出認(rèn)證方案和可應(yīng)用到代理的該URL上的參數(shù) Proxy-Authenticate: Basic
refresh 應(yīng)用于重定向或一個(gè)新的資源被創(chuàng)造,在5秒之后重定向(由網(wǎng)景提出,被大部分瀏覽器支持)
Refresh: 5; url=
http://www.zcmhi.com/archives/94.html
Retry-After 如果實(shí)體暫時(shí)不可取,通知客戶端在指定時(shí)間之后再次嘗試 Retry-After: 120
Server web服務(wù)器軟件名稱 Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)
Set-Cookie 設(shè)置Http Cookie Set-Cookie: UserID=JohnDoe; Max-Age=3600; Version=1
Trailer 指出頭域在分塊傳輸編碼的尾部存在 Trailer: Max-Forwards
Transfer-Encoding 文件傳輸編碼 Transfer-Encoding:chunked
Vary 告訴下游代理是使用緩存響應(yīng)還是從原始服務(wù)器請(qǐng)求 Vary: *
Via 告知代理客戶端響應(yīng)是通過哪里發(fā)送的 Via: 1.0 fred, 1.1 nowhere.com (Apache/1.1)
Warning 警告實(shí)體可能存在的問題 Warning: 199 Miscellaneous warning
WWW-Authenticate 表明客戶端請(qǐng)求實(shí)體應(yīng)該使用的授權(quán)方案 WWW-Authenticate: Basic

????????14、http返回錯(cuò)誤碼

HTTP響應(yīng)碼響應(yīng)碼由三位十進(jìn)制數(shù)字組成,它們出現(xiàn)在由HTTP服務(wù)器發(fā)送的響應(yīng)的第一行。響應(yīng)碼分五種類型,由它們的第一位數(shù)字表示:

1xx:信息,請(qǐng)求收到,繼續(xù)處理

2xx:成功,行為被成功地接受、理解和采納

3xx:重定向,為了完成請(qǐng)求,必須進(jìn)一步執(zhí)行的動(dòng)作

4xx:客戶端錯(cuò)誤,請(qǐng)求包含語(yǔ)法錯(cuò)誤或者請(qǐng)求無(wú)法實(shí)現(xiàn)

5xx:服務(wù)器錯(cuò)誤,服務(wù)器不能實(shí)現(xiàn)一種明顯無(wú)效的請(qǐng)求

下表顯示每個(gè)響應(yīng)碼及其含義:

100?繼續(xù) ?101?分組交換協(xié) 200 OK 201?被創(chuàng)建 ?202?被采納
203?非授權(quán)信息 204?無(wú)內(nèi)容 205?重置內(nèi)容 206?部分內(nèi)容 300?多選項(xiàng)
301?永久地傳送 302?找到 303?參見其他 304?未改動(dòng) 305?使用代理
307?暫時(shí)重定向 400?錯(cuò)誤請(qǐng)求 401?未授權(quán) 402?要求付費(fèi) 403?禁止
404?未找到 405?不允許的方法 406?不被采納 407?要求代理授權(quán) 408?請(qǐng)求超時(shí)
409?沖突 410?過期的 411?要求的長(zhǎng)度 412?前提不成立 413?請(qǐng)求實(shí)例太大
414?請(qǐng)求URI太大 415?不支持的媒體類型 416?無(wú)法滿足的請(qǐng)求范圍 417?失敗的預(yù)期 500?內(nèi)部服務(wù)器錯(cuò)誤
501?未被使用 502?網(wǎng)關(guān)錯(cuò)誤 503?不可用的服務(wù) 504?網(wǎng)關(guān)超時(shí) 505 HTTP版本未被支持

給TA打賞
共{{data.count}}人
人已打賞
0 條回復(fù) A文章作者 M管理員
    暫無(wú)討論,說說你的看法吧
QQ客服
  • QQ176363189 點(diǎn)擊這里給我發(fā)消息
旺旺客服
  • 速度網(wǎng)絡(luò)服務(wù)商 點(diǎn)這里給我發(fā)消息
電子郵箱
  • sudu@yunjiasu.cc
微信客服
  • suduwangluo