Http請求消息Request、響應消息Response


Request

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


  
GET示例
zt

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,服務器端和客戶端腳本都能訪問它,它是瀏覽器類型檢測邏輯的重要基礎.該信息由你的瀏覽器來定義,並且在每個請求中自動發送等等

第三部分:空行,請求頭部后面的空行是必須的,即使第四部分的請求數據為空,也必須有空行。
第四部分:請求數據也叫主體,可以添加任意的其他數據。這個例子的請求數據為空。

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 name=Professional%20Ajax&publisher=Wiley

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


響應消息Response

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

response

例子:

 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部分為響應正文。

響應狀態碼:

  • 1xx:指示信息--表示請求已接收,繼續處理

  • 2xx:成功--表示請求已被成功接收、理解、接受

  • 3xx:重定向--要完成請求必須進行更進一步的操作

  • 4xx:客戶端錯誤--請求有語法錯誤或請求無法實現

  • 5xx:服務器端錯誤--服務器未能實現合法的請

      1 200 OK                        //客戶端請求成功
      2 400 Bad Request               //客戶端請求有語法錯誤,不能被服務器所理解
      3 401 Unauthorized              //請求未經授權,這個狀態代碼必須和WWW-Authenticate報頭域一起使用 
      4 403 Forbidden                 //服務器收到請求,但是拒絕提供服務
      5 404 Not Found                 //請求資源不存在,eg:輸入了錯誤的URL
      6 500 Internal Server Error     //服務器發生不可預期的錯誤
      7 503 Server Unavailable        //服務器當前不能處理客戶端的請求,一段時間后可能恢復正常
    

HTTP請求方法

根據HTTP標准,HTTP請求可以使用多種請求方法。

HTTP1.0定義了三種請求方法: GET, POST 和 HEAD方法。
HTTP1.1新增了五種請求方法:OPTIONS, PUT, DELETE, TRACE 和 CONNECT 方法。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM