1. 程式人生 > >HTTP的請求訊息Request和響應訊息Response

HTTP的請求訊息Request和響應訊息Response

請求訊息Request

包括:請求行(request line)、請求頭部(header)、空行和請求資料四個部分組成。

              

GET例子:

複製程式碼
1 GET /562f25980001b1b106000338.jpg HTTP/1.1
2 Host    img.mukewang.com
3 User-Agent    Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36
4 Accept    image/webp,image/*,*/*;q=0.8
5 Referer    http://
www.imooc.com/ 6 Accept-Encoding gzip, deflate, sdch 7 Accept-Language zh-CN,zh;q=0.8
複製程式碼
第一部分:請求行,用來說明請求型別,要訪問的資源以及所使用的HTTP版本.

GET說明請求型別為GET,[/562f25980001b1b106000338.jpg]為要訪問的資源,該行的最後一部分說明使用的是HTTP1.1版本。

第二部分:請求頭部,緊接著請求行(即第一行)之後的部分,用來說明伺服器要使用的附加資訊

從第二行起為請求頭部,HOST將指出請求的目的地.User-Agent,伺服器端和客戶端指令碼都能訪問它,它是瀏覽器型別檢測邏輯的重要基礎.該資訊由你的瀏覽器來定義,並且在每個請求中自動傳送等等

第三部分:空行,請求頭部後面的空行是必須的,即使第四部分的請求資料為空,也必須有空行。
第四部分:請求資料也叫主體,可以新增任意的其他資料。這個例子的請求資料為空。
POST請求例子
複製程式碼
1 POST / HTTP1.1
2 Host:www.wrox.com
3 User-Agent:Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022)
4 Content-Type:application/x-www-form-urlencoded
5 Content-Length:40
6 Connection: Keep-Alive 7 8 name=Professional%20Ajax&publisher=Wiley
複製程式碼

第一部分:請求行,第一行明瞭是post請求,以及http1.1版本。
第二部分:請求頭部,第二行至第六行。
第三部分:空行,第七行的空行。
第四部分:請求資料,第八行。

--------------------------------------------------------------------------------

響應訊息Response

伺服器接收並處理客戶端發過來的請求後會返回一個HTTP的響應訊息;HTTP響應也由四個部分組成,分別是:狀態行、訊息報頭、空行和響應正文。

                       

例子

複製程式碼
 1 HTTP/1.1 200 OK
 2 Date: Fri, 22 May 2009 06:07:21 GMT
 3 Content-Type: text/html; charset=UTF-8
 4 
 5 <html>
 6       <head></head>
 7       <body>
 8             <!--body goes here-->
 9       </body>
10 </html>
複製程式碼
第一部分:狀態行,由HTTP協議版本號, 狀態碼(200), 狀態訊息(OK) 三部分組成。
第二部分:訊息報頭,用來說明客戶端要使用的一些附加資訊

第二行和第三行為訊息報頭,
Date:生成響應的日期和時間;Content-Type:指定了MIME型別的HTML(text/html),編碼型別是UTF-8

第三部分:空行,訊息報頭後面的空行是必須的
第四部分:響應正文,伺服器返回給客戶端的文字資訊。空行後面的html部分為響應正文。