超文本傳輸協(xié)議報(bào)文格式
時(shí)間:2023-02-14 10:48:01 | 來(lái)源:營(yíng)銷(xiāo)百科
時(shí)間:2023-02-14 10:48:01 來(lái)源:營(yíng)銷(xiāo)百科
超文本傳輸協(xié)議報(bào)文格式:請(qǐng)求消息的第一行為下面的格式:
MethodSPRequest-URISPHTTP-VersionCRLFMethod表示對(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)求消息:
Host: download.*******.de
Accept: */*
Pragma: no-cache
Cache-Control: no-cache
User-Agent: Mozilla/4.04[en](Win95;I;Nav)
Range: bytes=554554-
上例第一行表示HTTP客戶(hù)端(可能是瀏覽器、下載程序)通過(guò)GET方法獲得指定URL下的文件。棕色的部分表示請(qǐng)求頭域的信息,綠色的部分表示通用頭部分。
1.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)碼返回。
2.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ì)地址。
3.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)。
4.User-Agent頭域 User-Agent頭域的內(nèi)容包含發(fā)出請(qǐng)求的用戶(hù)信息。