小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

HTTP請(qǐng)求模型簡介

 duduwolf 2006-04-13
一、連接至Web服務(wù)器
一個(gè)客戶端應(yīng)用(如Web瀏覽器)打開到Web服務(wù)器的HTTP端口的一個(gè)套接字(缺省為80)。

例如:http://www.:8080/index.html
在Java中,這將等同于代碼:
Soceet socket=new Socket("www.",8080);
InputStream in=socket.getInputStream();
OutputStream out=socket.getOutputStream();

二、發(fā)送HTTP請(qǐng)求
通過連接,客戶端寫一個(gè)ASCII文本請(qǐng)求行,后跟0或多個(gè)HTTP頭標(biāo),一個(gè)空行和實(shí)現(xiàn)請(qǐng)求的任意數(shù)據(jù)。
一個(gè)請(qǐng)求由四個(gè)部分組成:請(qǐng)求行、請(qǐng)求頭標(biāo)、空行和請(qǐng)求數(shù)據(jù)
1.請(qǐng)求行:請(qǐng)求行由三個(gè)標(biāo)記組成:請(qǐng)求方法、請(qǐng)求URI和HTTP版本,它們用空格分隔。
例如:GET /index.html HTTP/1.1
HTTP規(guī)范定義了8種可能的請(qǐng)求方法:
GET            檢索URI中標(biāo)識(shí)資源的一個(gè)簡單請(qǐng)求
HEAD            與GET方法相同,服務(wù)器只返回狀態(tài)行和頭標(biāo),并不返回請(qǐng)求文檔
POST            服務(wù)器接受被寫入客戶端輸出流中的數(shù)據(jù)的請(qǐng)求
PUT            服務(wù)器保存請(qǐng)求數(shù)據(jù)作為指定URI新內(nèi)容的請(qǐng)求
DELETE            服務(wù)器刪除URI中命名的資源的請(qǐng)求
OPTIONS        關(guān)于服務(wù)器支持的請(qǐng)求方法信息的請(qǐng)求
TRACE            Web服務(wù)器反饋Http請(qǐng)求和其頭標(biāo)的請(qǐng)求
CONNECT        已文檔化但當(dāng)前未實(shí)現(xiàn)的一個(gè)方法,預(yù)留做隧道處理
2.請(qǐng)求頭標(biāo):由關(guān)鍵字/值對(duì)組成,每行一對(duì),關(guān)鍵字和值用冒號(hào)(:)分隔。
請(qǐng)求頭標(biāo)通知服務(wù)器有關(guān)于客戶端的功能和標(biāo)識(shí),典型的請(qǐng)求頭標(biāo)有:
User-Agent        客戶端廠家和版本
Accept            客戶端可識(shí)別的內(nèi)容類型列表
Content-Length    附加到請(qǐng)求的數(shù)據(jù)字節(jié)數(shù)
3.空行:最后一個(gè)請(qǐng)求頭標(biāo)之后是一個(gè)空行,發(fā)送回車符和退行,通知服務(wù)器以下不再有頭標(biāo)。
4.請(qǐng)求數(shù)據(jù):使用POST傳送數(shù)據(jù),最常使用的是Content-Type和Content-Length頭標(biāo)。

三、服務(wù)端接受請(qǐng)求并返回HTTP響應(yīng)
Web服務(wù)器解析請(qǐng)求,定位指定資源。服務(wù)器將資源副本寫至套接字,在此處由客戶端讀取。
一個(gè)響應(yīng)由四個(gè)部分組成;狀態(tài)行、響應(yīng)頭標(biāo)、空行、響應(yīng)數(shù)據(jù)
1.狀態(tài)行:狀態(tài)行由三個(gè)標(biāo)記組成:HTTP版本、響應(yīng)代碼和響應(yīng)描述。
HTTP版本:向客戶端指明其可理解的最高版本。
響應(yīng)代碼:3位的數(shù)字代碼,指出請(qǐng)求的成功或失敗,如果失敗則指出原因。
響應(yīng)描述:為響應(yīng)代碼的可讀性解釋。
例如:HTTP/1.1 200 OK
HTTP響應(yīng)碼:
1xx:信息,請(qǐng)求收到,繼續(xù)處理
2xx:成功,行為被成功地接受、理解和采納
3xx:重定向,為了完成請(qǐng)求,必須進(jìn)一步執(zhí)行的動(dòng)作
4xx:客戶端錯(cuò)誤:
2.響應(yīng)頭標(biāo):像請(qǐng)求頭標(biāo)一樣,它們指出服務(wù)器的功能,標(biāo)識(shí)出響應(yīng)數(shù)據(jù)的細(xì)節(jié)。
3.空行:最后一個(gè)響應(yīng)頭標(biāo)之后是一個(gè)空行,發(fā)送回車符和退行,表明服務(wù)器以下不再有頭標(biāo)。
4.響應(yīng)數(shù)據(jù):HTML文檔和圖像等,也就是HTML本身。

四、服務(wù)器關(guān)閉連接,瀏覽器解析響應(yīng)
1.瀏覽器首先解析狀態(tài)行,查看表明請(qǐng)求是否成功的狀態(tài)代碼。
2.然后解析每一個(gè)響應(yīng)頭標(biāo),頭標(biāo)告知以下為若干字節(jié)的HTML。
3.讀取響應(yīng)數(shù)據(jù)HTML,根據(jù)HTML的語法和語義對(duì)其進(jìn)行格式化,并在瀏覽器窗口中顯示它。
4.一個(gè)HTML文檔可能包含其它需要被載入的資源引用,瀏覽器識(shí)別這些引用,對(duì)其它的資源再進(jìn)行額外的請(qǐng)求,此過程循環(huán)多次。

五、無狀態(tài)連接
HTTP模型是無狀態(tài)的,表明在處理一個(gè)請(qǐng)求時(shí),Web服務(wù)器并不記住來自同一客戶端的請(qǐng)求。

六、實(shí)例
1.瀏覽器發(fā)出請(qǐng)求
GET /index.html HTTP/1.1
服務(wù)器返回響應(yīng)
HTTP /1.1 200 OK
Date: Apr 11 2006 15:32:08 GMT
Server: Apache/2.0.46(win32)
Content-Length: 119
Content-Type: text/html

<HTML>
<HEAD>
<LINK REL="stylesheet" HREF="index.css">
</HEAD>
<BODY>
<IMG SRC="image/logo.png">
</BODY>
</HTML>

2.瀏覽器發(fā)出請(qǐng)求
GET /index.css HTTP/1.1
服務(wù)器返回響應(yīng)
HTTP /1.1 200 OK
Date: Apr 11 2006 15:32:08 GMT
Server: Apache/2.0.46(win32)
Connection: Keep-alive, close
Content-Length: 70
Content-Type: text/plane

h3{
    font-size:20px;
    font-weight:bold;
    color:#005A9C;
}

3.瀏覽器發(fā)出請(qǐng)求
GET image/logo.png HTTP/1.1
服務(wù)器返回響應(yīng)
HTTP /1.1 200 OK
Date: Apr 11 2006 15:32:08 GMT
Server: Apache/2.0.46(win32)
Connection: Keep-alive, close
Content-Length: 1280
Content-Type: text/plane

{Binary image data follows}


(附錄)
1.HTTP規(guī)范:Internet工程制定組織(IETF)發(fā)布的RFC指定Internet標(biāo)準(zhǔn),這些RFC被Internet研究發(fā)展機(jī)構(gòu)廣泛接受。因?yàn)樗鼈兪菢?biāo)準(zhǔn)文檔,故一般用正規(guī)語言編寫,如立法文標(biāo)一樣。
2.RFC:RFC一旦被提出,就被編號(hào)且不會(huì)再改變,當(dāng)一個(gè)標(biāo)準(zhǔn)被修改時(shí),則給出一個(gè)新的RFC。作為標(biāo)準(zhǔn),RFC在Internet上被廣泛采用。
3.HTTP的幾個(gè)重要RFC:
    RFC1945    HTTP 1.0 描述
    RFC2068    HTTP 1.1 初步描述
    RFC2616    HTTP 1.1 標(biāo)準(zhǔn)
4.資源標(biāo)識(shí)符URI(Uniform Resource Identifter,URI)

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(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)遵守用戶 評(píng)論公約

    類似文章 更多