HTTP的請求訊息Request和響應訊息Response
阿新 • • 發佈:2019-01-26
請求訊息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:406 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