亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 課堂 > 網(wǎng)絡(luò)協(xié)議 > 正文

逐步解讀HTTP報文的組成及含義

2020-10-24 11:52:02
字體:
供稿:網(wǎng)友

如果說HTTP是因特網(wǎng)的信使,那么HTTP報文就是運(yùn)送的包裹。所有的HTTP程序都是通過互相發(fā)送報文來完成工作的。本文將介紹HTTP報文的流動方式,報文的組成部分,請求和響應(yīng)報文之間的區(qū)別等。

報文流
HTTP報文是在HTTP應(yīng)用程序之間發(fā)送的數(shù)據(jù)塊,這些數(shù)據(jù)塊以文本形式存在,以描述了報文的內(nèi)容及含義的元信息開頭,后面跟著可選的數(shù)據(jù)部分。這些報文在客戶端、服務(wù)器和代理之間流動。一般來說,報文流根據(jù)流向引用以下三種術(shù)語:報文流入(inbound)向服務(wù)器,工作完成之后,會流出(outbound)向客戶端或用戶Agent代理;不管是請求報文還是響應(yīng)寶安溫,所有報文的接收者都在發(fā)送者的下游(downstream),報文只會向下游流動。

報文的組成部分
報文由起始行、首部,以及可選的包含數(shù)據(jù)的主體三個部分組成。所有的HTTP報文分為兩類:請求(request)報文和響應(yīng)(response)報文,如下圖示例。前者會向Web服務(wù)器請求對資源進(jìn)行一些操作,后者承載了狀態(tài)信息和操作產(chǎn)生的所有結(jié)果數(shù)據(jù),把結(jié)果返回給客戶端。
2016616114838764.jpg (789×217)

起始行
所有的HTTP報文都以一個起始行作為開始。請求報文的起始行又稱為請求行,說明了要做些什么,響應(yīng)報文的起始行又稱為響應(yīng)行,說明了發(fā)生了什么。以下是兩種請求行的基本格式:

復(fù)制代碼
代碼如下:
// 請求行格式
<method> <request-URL> <version>
// 響應(yīng)行格式
<version> <status> <reason-phrase>

請求行的方法描述了服務(wù)器應(yīng)該執(zhí)行的操作,請求URL描述了要對哪個資源執(zhí)行這個方法,HTTP版本用來告知服務(wù)器,客戶端使用的是哪個版本的HTTP協(xié)議。響應(yīng)行包含了報文使用的HTTP版本、數(shù)字狀態(tài)嗎,以及描述操作狀態(tài)的文本形式的原因短語。所有這些字段都由空格分隔。

請求行方法
HTTP規(guī)范中定義了一組常用的請求方法,用來告知服務(wù)器要做些什么,如下所示:
GET:從服務(wù)器獲取請求URL所指定的資源。
HEAD:只從服務(wù)器獲取文檔的首部。和GET方法的行為很類似,但服務(wù)器只返回首部,不包含主體。此方法可以:在不獲取資源的情況下了解資源的情況(比如判斷類型);通過查看響應(yīng)中的狀態(tài)嗎,看看某個對象是否存在;通過查看首部,測試資源是否被修改了。
POST:向服務(wù)器發(fā)送需要處理的數(shù)據(jù)(包含主體)。通常用它來支持HTML的表單。
PUT:將請求的主體部分存儲在服務(wù)器上(包含主體)。有些系統(tǒng)允許用戶創(chuàng)建Web頁面或上傳文檔,該方法的語義就是讓服務(wù)器用請求的主體來創(chuàng)建一個由請求URL命名的新文檔,如果URL已存在則讓這個主體替代它。
DELETE:從服務(wù)器上刪除請求URL所指定的資源。但客戶端無法保證刪除操作一定被執(zhí)行,因?yàn)镠TTP規(guī)范允許服務(wù)器在不通知客戶端的情況下撤銷請求。
TRACE:對可能經(jīng)過代理、網(wǎng)管、防火墻等服務(wù)器的報文進(jìn)行追蹤,主要用于診斷。報文行程最后一站的服務(wù)器會彈回一條TRACE響應(yīng),在主體中攜帶它收到的原始請求報文,這樣客戶端就可以查看報文在一整條請求/響應(yīng)鏈上是如何被修改的。
OPTIONS:查詢可以在服務(wù)器上執(zhí)行哪些方法,讓客戶端不用實(shí)際訪問那些資源就能判定訪問各種資源的最優(yōu)方式。
如果一臺服務(wù)器要與HTPP 1.1兼容,只要為其資源實(shí)現(xiàn)GET和HEAD方法即可,這兩種方法被認(rèn)為是安全的,它們產(chǎn)生的請求不會在服務(wù)器上產(chǎn)生什么結(jié)果(實(shí)際上,這是由Web開發(fā)者決定的,完全可以使用GET方法來提交一個表單,但嚴(yán)重不建議這么做?。?。

HTTP還允許定義HTTP/1.1規(guī)范中沒有定義的擴(kuò)展方法,這些方法為開發(fā)者提供了一種擴(kuò)展HTTP服務(wù)能力的手段。很可能大部分HTTP應(yīng)用程序都無法理解這些擴(kuò)展方法,所以服務(wù)器最好對擴(kuò)展方法寬容一些。

狀態(tài)碼與原因短語
每條響應(yīng)報文都會包含一個3位數(shù)字和可讀的狀態(tài),用來告訴客戶端,服務(wù)器發(fā)生了什么事情。數(shù)字狀態(tài)碼便于程序處理差錯,原因短語更便于人們理解。狀態(tài)碼分為5類(括號中為已定義范圍):100~199為信息提示(100~101);200~299為成功(200~206);300~399為重定向(300~305),用于告知客戶端使用替代位置來訪問資源;400~499為客戶端錯誤(400~415);500~599為服務(wù)器錯誤(500~505)。限于篇幅下面只介紹常見的狀態(tài)碼,詳情參見HTTP狀態(tài)碼維基百科

101 Switching Protocols:服務(wù)器正在根據(jù)客戶端的指定,將協(xié)議切換成Update首部所示的協(xié)議。
200 OK:服務(wù)器已成功處理了請求并提供了請求的網(wǎng)頁
204 No Content:服務(wù)器成功處理了請求,但沒有返回任何內(nèi)容
301 Moved Permanently:請求的網(wǎng)頁已永久移動到新位置。響應(yīng)的Location首部應(yīng)包含資源現(xiàn)在所處的URL。
302 Found:與301類似,但這里的移除是臨時的。將來的請求仍應(yīng)使用老的URL。
304 Not Modified:客戶的緩存資源是最新的,要客戶端使用緩存。
400 Bad Request:告知客戶端發(fā)送了一個錯誤的請求。
403 Forbidden:請求被服務(wù)器拒絕了。(可能是沒有訪問服務(wù)器的權(quán)限)
404 Not Found:服務(wù)器無法找到所請求的URL。
410 Gone:服務(wù)器曾經(jīng)有這個資源,現(xiàn)在沒有了,與404類似。
500 Internal Server Error:服務(wù)器遇到一個錯誤,使其無法為請求提供服務(wù)。
502 Bad Gateway:作為代理或網(wǎng)關(guān)使用的服務(wù)器收到了上游的無效響應(yīng)。
503 Service Unavailable:服務(wù)器現(xiàn)在無法為請求提供服務(wù),但過一段時間就可以恢復(fù)服務(wù)。

首部
首部和方法配合工作,共同決定了客戶端和服務(wù)器能做什么事情。可以將首部分為5個主要類型,以下將分類列舉一些首部。

(1)通用首部:客戶端和服務(wù)器都可以使用的通用首部,提供了與報文相關(guān)的最基本的信息。
Connection:允許客戶端和服務(wù)器指定與請求/響應(yīng)連接相關(guān)的選項(xiàng)
Date:日期和時間標(biāo)志,說明報文是什么時刻創(chuàng)建的
MIME-Version:給出了發(fā)送端使用的MIME版本
Transfer-Encoding:告知接收端為了保證報文的可靠傳輸,對報文采用了什么編碼方式
Via:顯示了報文經(jīng)過的中間節(jié)點(diǎn)(代理、網(wǎng)關(guān)等等)
Cache-Control:用于隨報文傳送緩存指示
Pragma:另一種隨報文傳送指示的方式,但并不專用于緩存

(2)請求首部:只在請求報文中有意義,用于說明是誰或什么在發(fā)送請求、請求源自何處,或客戶端的喜好及能力等。
Accept:告訴服務(wù)器能夠發(fā)送哪些媒體類型。該首部可以使連接的兩端都受益,客戶端會得到它們想要的內(nèi)容,服務(wù)器則不會浪費(fèi)時間好帶寬來發(fā)送客戶端無法使用的東西
Accept-Encoding:告訴服務(wù)器能夠發(fā)送哪些編碼方式
Accept-Language:告訴服務(wù)器能夠發(fā)送哪些語言
Referer:提供了包含當(dāng)前請求URI的文檔的URL
User-Agent:告訴服務(wù)器發(fā)起請求的應(yīng)用程序名稱
有時客戶端希望為請求加上某些限制,要求服務(wù)器在對請求進(jìn)行響應(yīng)之前,確保某個條件為真,則可以添加條件請求首部,如Expect(允許客戶端列出某請求所要求的服務(wù)器行為)、If-Match(若實(shí)體標(biāo)記相匹配,則獲取這份文檔)、If-Modified-Since(除非在某個指定日期之后資源被修改過,否則限制該請求)等等。
HTTP本身就支持一種對請求進(jìn)行質(zhì)詢/響應(yīng)的認(rèn)證機(jī)制,這樣可以使事務(wù)稍微安全一些。因此有安全請求首部,如Authorization(客戶端提供給服務(wù)器的對其自身進(jìn)行認(rèn)證的數(shù)據(jù))、Cookie(這個不是真正的安全首部,但卻是隱含了安全功能)。

(3)響應(yīng)首部:為客戶端提供了一些額外信息,比如誰在發(fā)送響應(yīng)、響應(yīng)者的功能、其它一些特殊指令等
Age:(從最初創(chuàng)建開始)響應(yīng)持續(xù)時間
Public:服務(wù)器為其資源支持的請求方法列表
Retry-After:如果資源不可用,在此時間重試
Accept-Ranges:(協(xié)商首部)對此資源來說,服務(wù)器可接受的范圍類型
Set-Cookie:(安全首部)類似Cookie,用于設(shè)置Cookie

(4)實(shí)體首部:用來描述HTTP報文的負(fù)荷,提供了有關(guān)實(shí)體及其內(nèi)容的大量信息,可以告知報文的接收者它在對什么進(jìn)行處理
Allow:列出可以對此實(shí)體執(zhí)行的請求方法
Location:告知客戶端實(shí)體實(shí)際上位于何處,用于重定向資源
Content-Length:主體的長度
Content-Type:主體的對象類型
(還有很多關(guān)于主體的首部,如Content-Encoding、Content-Base、Content-MD5等等)
ETag:與此實(shí)體相關(guān)的實(shí)體標(biāo)記(用于緩存,下同)
Expires:實(shí)體不再有效,要從源端再次獲取此實(shí)體的日期和時間
Last-Modified:這個實(shí)體最后一次被修改的日期和時間

HTTP請求報文實(shí)例解剖  
2016616114935723.png (874×471)

①是請求方法,GET和POST是最常見的HTTP方法,除此以外還包括DELETE、HEAD、OPTIONS、PUT、TRACE。不過,當(dāng)前的大多數(shù)瀏覽器只支持GET和POST,Spring 3.0提供了一個HiddenHttpMethodFilter,允許你通過“_method”的表單參數(shù)指定這些特殊的HTTP方法(實(shí)際上還是通過POST提交表單)。服務(wù)端配置了HiddenHttpMethodFilter后,Spring會根據(jù)_method參數(shù)指定的值模擬出相應(yīng)的HTTP方法,這樣,就可以使用這些HTTP方法對處理方法進(jìn)行映射了。 
②為請求對應(yīng)的URL地址,它和報文頭的Host屬性組成完整的請求URL,③是協(xié)議名稱及版本號。 
④是HTTP的報文頭,報文頭包含若干個屬性,格式為“屬性名:屬性值”,服務(wù)端據(jù)此獲取客戶端的信息。 
⑤是報文體,它將一個頁面表單中的組件值通過param1=value1&param2=value2的鍵值對形式編碼成一個格式化串,它承載多個請求參數(shù)的數(shù)據(jù)。不但報文體可以傳遞請求參數(shù),請求URL也可以通過類似于“/chapter15/user.html? param1=value1&param2=value2”的方式傳遞請求參數(shù)。 
對照上面的請求報文,我們把它進(jìn)一步分解,你可以看到一幅更詳細(xì)的結(jié)構(gòu)圖: 
2016616115015857.jpg (427×151)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
欧美成人一区二区三区在线观看| 色www永久免费视频首页在线| 老司机精品视频在线| 国产乱人伦偷精品视频不卡| 国产一区二区高清| 国产女主播在线播放| 91大神免费观看| 波多野结衣在线观看一区| 国产视频久久久久久久| 欧美成人国产一区二区| 日韩国产激情在线| 痴汉一区二区三区| 欧美视频在线播放| 激情欧美一区二区| 猫咪av永久| 国产一区二区av| av黄色网址| 狠狠色丁香婷婷综合影院| 亚洲黄色录像| 7777精品伊久久久大香线蕉语言| 91福利精品第一导航| 91在线视频免费播放| 美女露隐私免费网站| 国产又粗又长又爽视频| 91欧美在线视频| 欧美一级高清大全免费观看| 中文字幕乱码中文字幕| 中文久久电影小说| 中文字幕国产免费| 91大神福利视频在线| 要久久爱电视剧全集完整观看| 亚洲成人影音| 成人动漫在线播放| 一级特黄aaa大片在线观看| 超碰在线免费看| 婷婷丁香综合网| 欧美一区二区三区思思人| 日韩精品av一区二区三区| 91精品国产91久久久久久青草| 99久在线精品99re8热| 99热免费精品在线观看| 神马久久久久久| 亚洲AV无码久久精品国产一区| 精品无码av在线| 色婷婷亚洲一区二区三区| 午夜视频一区在线观看| 搜成人激情视频| 国产叼嘿网站免费观看不用充会员| 2018中文字幕在线| 玖玖爱在线观看| 日日夜夜精品视频天天综合网| 看免费黄色录像| 精品国产一区二区三区久久久蜜臀| a毛片在线播放| 风韵丰满熟妇啪啪区老熟熟女| 最新中文字幕在线播放| 一区二区三区在线| 日韩免费电影| 日韩黄色三级视频| 亚洲另类在线视频| 国产a级一级片| 欧美日韩国产系列| 久热中文字幕在线观看| 91午夜精品亚洲一区二区三区| 九色蝌蚪在线观看| 天堂网在线观看| 国产精品久久久久久亚洲调教| 91po在线观看91精品国产性色| 色综合天天综合网国产成人网| 精品人体无码一区二区三区| 国产精品毛片高清在线完整版| 亚洲免费视频网站| 日韩精品久久久久久久| 亚洲人成绝费网站色ww| 国产成人无码一区二区在线播放| 欧美视频第一| av成人天堂| 亚洲综合激情六月婷婷在线观看| 狠狠干婷婷色| 日本一级二级视频| 老司机2019福利精品视频导航| 亚洲婷婷综合色高清在线| 在这里有精品| 99久久久无码国产精品| 欧美精品在线一区| 男人的天堂影院| 中文字幕久热精品在线视频| 哥也色在线视频| 欧美精品七区| 福利小视频在线观看| 性色av一区二区三区免费| 欧美一区二粉嫩精品国产一线天| 国产理论视频在线观看| 午夜久久久精品| 一道本在线免费视频| 亚洲另类一区二区| 中文字幕系列一区| 久久久久毛片| 国产午夜性春猛交ⅹxxx| 在线精品一区| 美女网站黄页| 成人中文字幕av| 草草视频在线免费观看| 91蜜桃臀久久一区二区| 日本一区二区免费视频| 国产精品一区在线观看乱码| 99久久99久久精品| 国产一区二区中文字幕免费看| 色欲AV无码精品一区二区久久| 欧美freesex交免费视频| 精品美女国产在线| 三年中文高清在线观看第6集| 日本免费一区二区三区四区| 一个人看的www一区| 日韩av不卡电影| 日韩av综合网| 日韩电影中文字幕av| 亚洲精品无码久久久久久久| 国产xxxx振车| 亚洲黄色小说网站| 欧美日产国产成人免费图片| 精品国产美女福利到在线不卡| 国产高清久久| 日韩精品导航| 黄色激情在线播放| 91精品国产综合久久精品app| 自拍偷拍福利视频| 免费国产成人看片在线| 伊人蜜桃色噜噜激情综合| 美女mm1313爽爽久久久蜜臀| 亚洲免费观看高清完整| 欧美视频在线一区二区三区| 国产免费一区二区三区在线能观看| 亚洲永久免费av| av在线中文| 精品一区二区三区免费毛片| 国产婷婷色一区二区三区| 亚洲欧美日韩动漫| 亚洲欧美综合v| 人人插人人干| 中文字幕无码精品亚洲资源网久久| 日韩在线观看第一页| 鲁大师精品99久久久| www.黄色国产| xx欧美视频| jiyouzz国产精品久久| 人妻无码一区二区三区免费| 极品尤物一区二区三区| www日韩大片| 欧美高清一级片在线观看| 极品粉嫩国产18尤物| 欧美成人另类视频| 国产又粗又猛又爽又| 最新国产精品久久| 欧美aaa大片| 亚洲在线免费看| 亚洲天堂国产精品| 精品国产一区二区三区久久狼黑人| 欧美日韩性视频一区二区三区| 成人影视免费观看| 国产精品区一区二区三区| 婷婷激情综合| 91精品国产一区二区在线观看| 粉嫩高清一区二区三区精品视频| 加勒比中文字幕精品| 男人的天堂免费在线视频| 久久精品国产屋| 91精品国产乱码久久久| 亚洲欧美日韩成人网| 欧美a级片一区| 五月激激激综合网色播| 在线黄色网页| 成品网站w灬+源码1| 日本一本a高清免费不卡| 99久久精品国产一区二区小说| 国产偷国产偷亚洲高清人白洁| 99精品一区| 日韩一级片免费| 欧美破处大片在线视频| 高清久久精品| 亚洲黄色有码视频| 欧美韩国日本在线观看| 久久久久99精品久久久久| 国产精品三级美女白浆呻吟| 色内内免费视频播放| 国产亚洲精品自在久久| 日韩高清欧美高清| 宅男网站在线免费观看| 中文先锋资源| 综合网插菊花| 亚洲永久精品视频| 成人av在线一区二区三区| 国产亚洲精品久| 午夜精品一区二区三区视频免费看| xxxxx.日韩| 中文字幕国产精品一区二区| 精品国产一区二区三区不卡在线| 美女视频黄免费的亚洲男人天堂| 亚洲一区二区欧美日韩| 欧美日韩在线视频免费观看| 欧美涩涩视频| av无码久久久久久不卡网站| 视频二区欧美毛片免费观看| 国产日产精品久久久久久婷婷| 欧美日韩在线播放视频| 日本女人一区二区三区| 在线看国产视频| 寂寞少妇一区二区三区| 综合av在线| 电影一区二区三区| 国产日韩欧美一区| 国产黄色成人av| 日本福利片在线| 久久精品波多野结衣| 人人精品视频| wwwwww国产| 伊人久久青草| 美女视频一区| 欧美卡一卡二卡三| 亚洲精品中文在线观看| 亚洲最新av在线| 国产丝袜在线视频| 日韩一区二区三区中文字幕| 亚洲精品乱码久久久久久蜜桃动漫| 国产免费嫩草影院| 日韩va欧美va亚洲va久久| 俄罗斯精品一区二区三区| 欧美成人在线免费| 成视频在线观看免费观看| 性欧美hd调教| 日韩av在线资源| 欧美多人猛交狂配| 国产成人在线视频| 男人天堂影院| 欧美人与物videos另类xxxxx| 国产精品流白浆在线观看| 亚洲国产精品麻豆| 欧美亚洲视频| 国产乱码精品一区二区| 欧美国产中文高清| 亚洲风情亚aⅴ在线发布| 精品中文字幕人| 久久久久国产精品区片区无码| 超碰人人草人人| 一区二区三区中文免费| 国产女人高潮时对白| 亚洲一区网址| 欧美一卡二卡在线观看| 免费xxxxx网站中文字幕| 午夜精品影院在线观看| 欧美另类交人妖| 亚洲欧美制服丝袜| 视频二区在线观看| 欧美日韩亚洲综合一区| 亚洲成人a级网| 免费看黄色a级片| 黄大色黄女片18第一次| 国产美女直播视频一区| 精品在线一区二区| 91产国在线观看动作片喷水| www.4hu95.com四虎| 美女露胸视频在线观看| 激情五月婷婷综合网| 人人在草线视频在线观看| 人妻视频一区二区三区| 亚洲精品国产精品国自产观看| 无码人妻丰满熟妇啪啪欧美| 日韩成人毛片视频| 国内精品久久久久久久果冻传媒| 欧美成人综合一区| 天天操夜夜操天天射| 国产一区二区三区三州| 丰满放荡岳乱妇91ww| 黄色小说在线观看视频| 中文字幕在线欧美| 欧美日韩亚洲系列| 欧美一区二区三区成人精品| 免费污网站在线观看| 久久久久性色av无码一区二区| 综合久久中文字幕| 4438x亚洲最大成人网| 欧美猛交免费看| 69av成人| 欧美色视频日本版| 天天干天天做天天操| 人人玩人人添人人澡欧美| 成人激情四射网| 亚洲一区二区三区四区不卡| 爆乳熟妇一区二区三区霸乳| 高清不卡一区二区三区| 欧美日韩亚洲免费| 日韩高清国产精品| 日韩视频免费观看| 自拍视频在线观看一区二区| 日本视频在线免费| 69av影院| 男人与禽猛交狂配| 亚洲精品欧美二区三区中文字幕| 亚洲影视一区| 国产毛片av| 高h震动喷水双性1v1| 亚洲第一福利网| av在线免费观看网站| 亚洲h动漫在线| 国产精品久久久久久福利一牛影视| 亚洲色图欧美视频| 日韩国产精品久久久久久亚洲| 久久波多野结衣| jizzjizzjizzjizz日本老师| 成人欧美亚洲| 亚洲国产成人精品久久久国产成人一区| 欧美丰满美乳xxx高潮www| 国语自产精品视频在线看抢先版结局| 亚洲欧美一区二区三区久本道91| 东京热一区二区三区四区| 少妇aaaaa| 一区二区三区不卡视频在线观看| 欧美精品另类| 在线观看日韩精品视频| 日韩欧国产精品一区综合无码| 91精品国产色综合久久不卡98| 国产一区二区久久久| 久久精品a一级国产免视看成人| 中国精品18videos性欧美| 久久久精品国产免大香伊| 国产精品久久久久久久一区探花| 波多野结衣视频一区| 久草手机在线观看|