HTTP請(qǐng)求行、請(qǐng)求頭、請(qǐng)求體詳解
HTTP響應(yīng)頭和請(qǐng)求頭信息對(duì)照表
HTTP請(qǐng)求方法對(duì)照表
HTTP狀態(tài)碼對(duì)照表
HTTP請(qǐng)求報(bào)文解剖
HTTP Request :HTTP請(qǐng)求
Request Line:請(qǐng)求行
Header:請(qǐng)求頭
Request Body:請(qǐng)求體
HTTP請(qǐng)求報(bào)文由3部分組成(請(qǐng)求行+請(qǐng)求頭+請(qǐng)求體):
下面是一個(gè)實(shí)際的請(qǐng)求報(bào)文:
①是請(qǐng)求方法,HTTP/1.1 定義的請(qǐng)求方法有8種:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE,最常的兩種GET和POST,如果是RESTful接口的話一般會(huì)用到GET、POST、DELETE、PUT。
②為請(qǐng)求對(duì)應(yīng)的URL地址,它和報(bào)文頭的Host屬性組成完整的請(qǐng)求URL
③是協(xié)議名稱(chēng)及版本號(hào)。
④是HTTP的報(bào)文頭,報(bào)文頭包含若干個(gè)屬性,格式為“屬性名:屬性值”,服務(wù)端據(jù)此獲取客戶(hù)端的信息。
⑤是報(bào)文體,它將一個(gè)頁(yè)面表單中的組件值通過(guò)param1=value1¶m2=value2的鍵值對(duì)形式編碼成一個(gè)格式化串,它承載多個(gè)請(qǐng)求參數(shù)的數(shù)據(jù)。不但報(bào)文體可以傳遞請(qǐng)求參數(shù),請(qǐng)求URL也可以通過(guò)類(lèi)似于“/chapter15/user.html? param1=value1¶m2=value2”的方式傳遞請(qǐng)求參數(shù)。
對(duì)照上面的請(qǐng)求報(bào)文,我們把它進(jìn)一步分解,你可以看到一幅更詳細(xì)的結(jié)構(gòu)圖:
響應(yīng)狀態(tài)碼
和請(qǐng)求報(bào)文相比,響應(yīng)報(bào)文多了一個(gè)“響應(yīng)狀態(tài)碼”,它以“清晰明確”的語(yǔ)言告訴客戶(hù)端本次請(qǐng)求的處理結(jié)果。
HTTP的響應(yīng)狀態(tài)碼由5段組成:
200 OK
你最希望看到的,即處理成功!
303 See Other
我把你redirect到其它的頁(yè)面,目標(biāo)的URL通過(guò)響應(yīng)報(bào)文頭的Location告訴你。
304 Not Modified
告訴客戶(hù)端,你請(qǐng)求的這個(gè)資源至你上次取得后,并沒(méi)有更改,你直接用你本地的緩存吧,我很忙哦,你能不能少來(lái)煩我啊!
404 Not Found
你最不希望看到的,即找不到頁(yè)面。如你在google上找到一個(gè)頁(yè)面,點(diǎn)擊這個(gè)鏈接返回404,表示這個(gè)頁(yè)面已經(jīng)被網(wǎng)站刪除了,google那邊的記錄只是美好的回憶。
500 Internal Server Error
看到這個(gè)錯(cuò)誤,你就應(yīng)該查查服務(wù)端的日志了,肯定拋出了一堆異常,別睡了,起來(lái)改BUG去吧!
HTTP請(qǐng)求行、請(qǐng)求頭、請(qǐng)求體詳解
HTTP請(qǐng)求報(bào)文由3部分組成(請(qǐng)求行+請(qǐng)求頭+請(qǐng)求體):下面是一個(gè)實(shí)際的請(qǐng)求報(bào)文:①是請(qǐng)求方法,HTTP\/1.1 定義的請(qǐng)求方法有8種:GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE,最常的兩種GET和POST,如果是RESTful接口的話一般會(huì)用到GET、POST、DELETE、PUT。 ②為請(qǐng)求對(duì)應(yīng)的URL地址,它和報(bào)...
HTTP 報(bào)文結(jié)構(gòu)詳解
HTTP報(bào)文是應(yīng)用程序間通信的關(guān)鍵組件,以文本形式的元信息組織數(shù)據(jù),分為請(qǐng)求報(bào)文和響應(yīng)報(bào)文。請(qǐng)求報(bào)文由請(qǐng)求行、請(qǐng)求頭、空行和請(qǐng)求體組成,表示客戶(hù)端操作服務(wù)器資源的指令和附加信息;響應(yīng)報(bào)文則包含狀態(tài)行、響應(yīng)頭、空行和響應(yīng)體,服務(wù)器借此傳遞信息并回應(yīng)客戶(hù)端的請(qǐng)求。請(qǐng)求報(bào)文結(jié)構(gòu)請(qǐng)求行包括協(xié)議版本、...
你應(yīng)該知道的HTTP基礎(chǔ)知識(shí)
HTTP請(qǐng)求報(bào)文結(jié)構(gòu)包括請(qǐng)求行、請(qǐng)求頭和請(qǐng)求體。請(qǐng)求行包含了請(qǐng)求方法、請(qǐng)求地址和協(xié)議版本。常見(jiàn)的請(qǐng)求方法有GET、POST、PUT、DELETE、PATCH、HEAD、OPTIONS、TRACE,其中GET和POST使用最為頻繁。URL的構(gòu)成包括主機(jī)和PATH,PATH部分包含了Query String。HTTP響應(yīng)報(bào)文格式與請(qǐng)求報(bào)文類(lèi)似,但狀態(tài)行不同。狀態(tài)碼詳...
HTTP詳解
HTTP請(qǐng)求體中包含三個(gè)部分: ① 請(qǐng)求行、② 請(qǐng)求頭(Header)、③ 請(qǐng)求正文(Body)概括為文字如下:HTTP響應(yīng)體中包含三個(gè)部分: ① 狀態(tài)行、② 響應(yīng)頭(Header)、③ 響應(yīng)正文(Body)概括為文字如下:看到這里,有的小伙伴可能會(huì)提出問(wèn)題:?jiǎn)枺涸谏蠄D中[響應(yīng)頭]與[響應(yīng)正文]之間是什么數(shù)據(jù)呢?答...
一次完整的HTTP請(qǐng)求過(guò)程
3. 發(fā)起HTTP請(qǐng)求HTTP請(qǐng)求包括請(qǐng)求行(方式、URL和版本)、請(qǐng)求頭(主機(jī)、環(huán)境信息等)和請(qǐng)求正文(GET\/POST時(shí)的數(shù)據(jù))。GET請(qǐng)求將參數(shù)附加在URL中,而POST請(qǐng)求則在請(qǐng)求體中包含參數(shù)。4. GET請(qǐng)求示例例如,瀏覽器發(fā)送GET請(qǐng)求"http:\/\/localhost:8081\/test?name=XXG&age=23"的結(jié)構(gòu)清晰。5. POST請(qǐng)求示例...
http報(bào)文詳解
第一行為請(qǐng)求行: GET \/ HTTP\/1.1 方法是GET,協(xié)議版本http1.1 HOST :請(qǐng)求資源所在服務(wù)器 Connection keep-alive :一般情況下,一旦web服務(wù)器向?yàn)g覽器發(fā)送了請(qǐng)求數(shù)據(jù),他就要關(guān)閉TCP連接,然后如果瀏覽器或者服務(wù)器在其頭信息加入了Connection:keep-alive,則TCP連接在發(fā)送后仍將保持打開(kāi)狀...
詳解「HTTP」的請(qǐng)求流程
建立TCP連接后,瀏覽器發(fā)送HTTP請(qǐng)求至服務(wù)器。請(qǐng)求包括請(qǐng)求行、請(qǐng)求頭和請(qǐng)求體。請(qǐng)求行指定資源類(lèi)型和方法,請(qǐng)求頭提供瀏覽器信息,請(qǐng)求體包含具體數(shù)據(jù)(如POST方法)。服務(wù)器收到請(qǐng)求后,處理并返回響應(yīng),包括響應(yīng)行、響應(yīng)頭和響應(yīng)體。響應(yīng)體通常是HTML內(nèi)容。服務(wù)器響應(yīng)后,瀏覽器斷開(kāi)TCP連接。然而,為提升...
HTTP請(qǐng)求,返回狀態(tài)碼詳解
一個(gè)HTTP "服務(wù)器"同樣是一個(gè)應(yīng)用程序(通常是Web服務(wù),如Apache Web服務(wù)器或IIS服務(wù)器等),通過(guò)接收客戶(hù)端的請(qǐng)求并向客戶(hù)端發(fā)送HTTP響應(yīng)數(shù)據(jù)。HTTP 使用統(tǒng)一資源標(biāo)識(shí)符(URI)來(lái)傳輸數(shù)據(jù)和建立連接。HTTP 請(qǐng)求包括以下四個(gè)部分:請(qǐng)求行(request line)、請(qǐng)求頭部(header)、空行和請(qǐng)求數(shù)據(jù)。HTTP1.0...
http請(qǐng)求頭部(header)詳解
HTTP請(qǐng)求和響應(yīng)的核心是其頭部信息,由起始行、頭域、空行和可選的消息體構(gòu)成。頭域分為通用頭、請(qǐng)求頭、響應(yīng)頭和實(shí)體頭四部分,每個(gè)頭域由域名(大小寫(xiě)無(wú)關(guān))、冒號(hào)和域值組成。通用頭域如Connection、Date、MIME-Version等,提供報(bào)文基礎(chǔ)信息,如連接選項(xiàng)、創(chuàng)建時(shí)間、MIME版本等。在UPnP消息中,通用頭...
基礎(chǔ)篇-http協(xié)議《http 簡(jiǎn)介、url詳解、request》
HTTP請(qǐng)求由空行分隔請(qǐng)求頭和請(qǐng)求體,其中包含了客戶(hù)端信息、接受類(lèi)型、壓縮格式等重要信息。例如,User-Agent字段表示客戶(hù)端類(lèi)型,服務(wù)端可通過(guò)此字段分析客戶(hù)端類(lèi)型;Accept字段表示接受的數(shù)據(jù)類(lèi)型;Accept-Encoding字段表示接受的壓縮格式,服務(wù)端返回大容量數(shù)據(jù)時(shí),通過(guò)壓縮減少流量消耗。請(qǐng)求頭中,POST請(qǐng)求需要...
相關(guān)評(píng)說(shuō):
東烏珠穆沁旗主動(dòng): ______ 一個(gè)請(qǐng)求行、多個(gè)請(qǐng)求頭、信息體.
東烏珠穆沁旗主動(dòng): ______ 一、 HTTP請(qǐng)求和響應(yīng)步驟 圖片來(lái)自:理解Http請(qǐng)求與響應(yīng) 以上完整表示了HTTP請(qǐng)求和響應(yīng)的7個(gè)步驟,下面從TCP/IP協(xié)議模型的角度來(lái)理解HTTP請(qǐng)求和響應(yīng)如何傳遞的. 二、TCP/IP協(xié)議 TCP/IP協(xié)議模型(Transmission Control Protocol/...
東烏珠穆沁旗主動(dòng): ______ HttpRequest定義在命名空間System.Web下// Summary:// Enables ASP.NET to read the HTTP values sent by a client during a Web request.public sealed class HttpRequest 對(duì)于每一個(gè)請(qǐng)求參數(shù),HttpRuntime將創(chuàng)建一個(gè)類(lèi)型為HttpRequest的對(duì)象....
東烏珠穆沁旗主動(dòng): ______ Http之Get/Post請(qǐng)求區(qū)別 1.HTTP請(qǐng)求格式: [] 在HTTP請(qǐng)求中,第一行必須是一個(gè)請(qǐng)求行(request line),用來(lái)說(shuō)明請(qǐng)求類(lèi)型、要訪問(wèn)的資源以及使用的HTTP版本.緊接著是一個(gè)首部(header)小節(jié),用來(lái)說(shuō)明服務(wù)器要使用的附加信息.
東烏珠穆沁旗主動(dòng): ______ ①是請(qǐng)求方法,GET和POST是最常見(jiàn)的HTTP方法,除此以外還包括DELETE、HEAD、OPTIONS、PUT、TRACE.不過(guò),當(dāng)前的大多數(shù)瀏覽器只支持GET和POST,Spring 3.0提供了一個(gè)HiddenHttpMethodFilter,允許你通過(guò)“_method”的表...
東烏珠穆沁旗主動(dòng): ______ Accept、Accept-Charset、Accept- Encoding、Accept-Language、Authorization、From、Host、Max-Forwards、 Proxy-Authorization、Range、Referer、User-Agent
東烏珠穆沁旗主動(dòng): ______ 如何使用SOCKET 發(fā)送HTTP1.1 GET POST請(qǐng)求包 HTTP報(bào)文是面向文本的,報(bào)文中的每一個(gè)字段都是一些ASCII碼串,各個(gè)字段的長(zhǎng)度是不確定的.HTTP有兩類(lèi)報(bào)文:請(qǐng)求報(bào)文和響應(yīng)報(bào)文. 請(qǐng)求報(bào)文 一個(gè)HTTP請(qǐng)求報(bào)文由請(qǐng)求行(request ...
東烏珠穆沁旗主動(dòng): ______ 1、如果是java的話可以利用HttpClients這個(gè)類(lèi),創(chuàng)建一個(gè)HttpClients對(duì)象hc;2、若是post請(qǐng)求,則new一個(gè)HttpPost對(duì)象hp,利用有參構(gòu)造器傳入請(qǐng)求url,然后利用hp.setHeader(name,value)方法設(shè)置請(qǐng)求頭;若是get則newHttpGet對(duì)象,同理3、...
東烏珠穆沁旗主動(dòng): ______ 代碼獲百度的頭<?php $url="www.baidu.com"; $fp = fsockopen($url, 80, &$errno, if(!$fp) { echo "$errstr ($errno)\n"; } else { f...
東烏珠穆沁旗主動(dòng): ______ //請(qǐng)求頭 4 ngx_buf_t *header_in; 5 6 ngx_http_headers_in_t headers_in; 7 ngx_http_headers_out_t headers_out; 8 //請(qǐng)求體 9 ngx_http_request_body_t *request_body; 10 //請(qǐng)求行 11 ngx_uint_t method; 12 ngx_uint_t http_version; 13 14 ngx_...