亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Java網絡編程從入門到精通(21):HTTP消息的格

系統 1841 0

本文為原創,如需轉載,請注明作者和出處,謝謝!

上一篇: Java網絡編程從入門到精通(20):HTTP協議簡介

當用戶在瀏覽器中輸入一個基于HTTP協議的URL時(以http://開頭的URL),就相當于通知器按著這個URL組織生成一個HTTP請求,并交過個請求發送到服務器;同時,等待服務器的響應。無論是請求還是響應,都統稱為HTTP消息。

HTTP 協議分為兩部分:

1. HTTP 請求消息。

2. HTTP 響應消息。

一、 HTTP 請求消息

HTTP 請求消息分為請求消息頭以及請求實體內容兩部分。請求消息頭的第一行必須由以下三部分組成:

請求的方法(GET、POST和HEAD等)。

Web 資源的路徑(http://www.website.com/test/test.html中的/test/test.html

部分)。

HTTP 協議的版本(HTTP/1.0或HTTP/1.1)。

在請求消息頭的其他行是請求頭字段。每一行的格式是:

" 頭字段" ":" "頭字段的值"

請求頭以一個空行結束。如下面上一個GET請求的例子:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> GET/HTTP/ 1.1
Host:www.csdn.net
Connection:Keep-Alive
Accept:*/*

如果是POST請求,將要提交的實體內容放到消息頭的空行后面,如下面是一個POST請求的例子:

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> POST/servlets-examples/servlet/RequestParamExampleHTTP/ 1.1
Host:localhost:
8888
Content-Length:
29
Connection:Close

firstname
= Bill&lastname = Gates

在上面的請求消息中Content-Length表示請求內容的以字節為單位的長度(" firstname=Bill&lastname=Gates"的長度)。在使用POST方法時,這個字段必須提供,而且長度必須等于實體內容的長度,否則服務器將返回一個錯誤狀態碼。

二、 HTTP 響應消息

HTTP 響應消息同樣也分為消息頭和實體內容兩部分。HTTP的響應消息頭和請求消息頭類似;第一行是請求的結果,也就是說,在響應消息頭的第一行表明了請求消息是否成功地獲得了服務器上的Web資源。第一行必須由以下三部分組成:

1. 響應消息的HTTP版本。

格式為HTTP/1.1或HTTP/1.0。這個版本號未必和請求消息頭的版本號一致;這主要是

因為,服務器未必支持HTTP請求中所描述的HTTP版本,如使用GET / HTTP/1.1去請求服務器,當服務器只支持HTTP1.0時,那么就會返回HTTP/1.0。

2. 狀態碼。

這個狀態碼由三位的數字組成,分為五個檔次。下面是HTTP1.1的響應碼:

(1)以1開頭的數字(1xx)。

臨時請求狀態碼。由100和101組成。這類狀態碼并不經常使用,它們的作為主要是服務器為客戶端返回的臨時的狀態。

(2)以2開頭的數字(2xx)。

請求成功狀態碼。范圍從200到206。其中最常用的是200,它表示客戶端請求成功,服務器已經將所請求的Web資源返回到了客戶端。其他的六個狀態碼類似,都表示請求成功,只是要指引客戶端進和下一步的動作。如狀態碼206表示服務器只是返回了一部分請求資源,客戶端要想獲得全部的Web資源,必須繼續發出HTTP請求。其他的響應碼的含義可以參閱HTTP1.1的規范RFC2616。

(3)以3開頭的數字(3xx)。

Web 資源重定向狀態碼。范圍從300到307。所有以3開頭的狀態碼都以不同的原因和方式使Web資源改變了原來的URL。如302通過一個Location字段確定了Web資源改變URL后的位置。有了這種狀態碼,當某個網站或其他的Web資源的URL變化后,而訪問這些Web資源的用戶并不能即使知道變化后的URL;因此,可以在用戶訪問原來的URL時加一個302響應,使客戶端自動去訪問新的URL。

(4)以4開頭的數字(4xx)。

客戶端錯誤狀態碼。范圍從400到417。也許沒人希望看到這狀態碼。但它們確實在Internet上大量存在。當用戶訪問的Web資源不存在或是沒有權限訪問Web資源時,服務器將返回這類狀態碼。這類狀態碼中最常遇到的是400。當用戶發送一個不存在的Web資源路徑時(GET、POST和HEAD方法后面跟的路徑),服務器就會返回這個狀態碼。

(5)以5開頭的數字(5xx)。

服務器錯誤狀態碼。范圍從500到505。這類狀態碼也是一類錯誤狀態碼,只是它和4xx不同的是,5xx的錯誤是由于服務器的原因而產生的;如用戶向服務器發送一個HTTP協議不支持的方法,如GET1,服務器將返回501錯誤,表示服務器不支持這個HTTP請求方法。

3. 狀態信息。

響應信息的內容和狀態碼息息相關。如狀態碼為200,則狀態信息為"OK"。狀態碼為501,狀態信息為"Not Implemented"。要想詳細了解每一個狀態碼所對應的狀態信息,請參閱HTTP1.1的規范RFC2616。

HTTP 響應消息的其他部分和請求消息一樣,也是由很多響應頭字段組成,每個字段和字段值占一行。響應消息頭使用一個空行結束,空行的后面跟著HTTP響應消息的實體內容。如下面是一個完整的HTTP請求和響應的例子:

HTTP 請求消息

<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> GET/HTTP/ 1.1
Host:www.csdn.net

HTTP 響應消息


<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> --> HTTP/ 1.0 200 OK
Content-Length:
132273
Content-Type:text/html
Content-Location:http://www.csdn.net/index.htm
Last-Modified:Sun
, 28 Jan 2007 09 : 20 : 00 GMT
Accept-Ranges:bytes
ETag:
" eed72b7cbd42c71:1b0e "
Server:Microsoft-IIS/
6.0
X-Powered-By:ASP.NET
Date:Sun
, 28 Jan 2007 09 : 23 : 26 GMT
Age:
32
X-Cache:HITfromcachebj244.csdn.net
Connection:close
<!DOCTYPEhtml


從上面的HTTP消息可以看出,請求和響應消息中的HTTP版本并不一樣,這說明CSDN的Web服務器為了和只支持HTTP1.0的客戶端兼容,也采用了HTTP1.0協議。

注意:
在HTTP請求和響應消息中的第一行的請求方法(GET、POST等)以及HTTP/1.1或HTTP1.0中的字母必須大寫,請求方法后面的路徑大小寫都可。消息頭字段對大小寫不敏感,但大多數的請求和響應字段名都采取了首字母大寫的方式。

下一篇:
Java網絡編程從入門到精通(22):實現HTTP模擬器



國內最棒的Google Android技術社區(eoeandroid),歡迎訪問!

《銀河系列原創教程》 發布

《Java Web開發速學寶典》 出版,歡迎定購

Java網絡編程從入門到精通(21):HTTP消息的格式


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 毛片毛片毛片毛片毛片毛片毛片 | 亚洲欧美日韩专区 | 在线成人免费视频 | 国产l精品国产亚洲区在线观看 | 日本免费不卡 | 亚洲春色综合另类网蜜桃 | 99久久国产免费福利 | 欧美精品aaa久久久影院 | 日韩欧美中文字幕在线观看 | 在线视频一二三区2021不卡 | 麻豆精品| 亚洲精品国产精品一区二区 | 手机看片日韩 | 国产美女久久久久久久久久久 | 私人影院免费观看 | 亚洲一级毛片在线播放 | 奇米在线777在线视频 | 日本高清视频www夜色资源网 | 99热这里只有精品1 99热这里只有精品18 | 亚洲天天操 | 中文字幕亚洲第一 | 不卡中文字幕在线观看 | 91www成人久久 | 毛片96视频免费观看 | 亚洲精品久久久久网站 | 国产精品自在线天天看片 | 日本视频在线观看不卡高清免费 | 97成人精品视频在线播放 | 亚洲宗合| 国产日韩久久久久69影院 | 99热久久久久久久免费观看 | 国产一区二区久久久 | 成人精品视频一区二区三区 | 亚洲欧美日韩高清中文在线 | 69国产成人综合久久精品91 | 亚洲精品国产精品国自产观看 | 国产精品亚洲二线在线播放 | 久色视频在线 | 亚洲在线免费视频 | 97视频免费观看 | 福利99 |