HTTP協議(5)HTTP請求和響應

之前曾介紹過,所有的HTTP通信都被構造成一對HTTP請求和HTTP響應,HTTP協議的請求與響應報文都是由“首部header”和“主體body”兩部分組成的。其中主體部分是請求和響應的數據,首部部分則規定了請求和響應的內容格式。

對於HTTP請求報文,主要由三部分組成:請求行、請求頭、請求正文。在請求頭和請求正文之間一般會有兩個空行進行間隔。
下圖是用Burpsuite截獲的請求報文。
HTTP協議(5)HTTP請求和響應
HTTP請求報文的第一行即爲請求行,這個報文的請求行就是“GET / HTTP/1.1”。
請求行由三部分組成:

  • 第一部分“GET”,表明該請求是採用GET方法;
  • 第二部分“/”,表明請求訪問的頁面,“/”是指網站根目錄,也就是要訪問網站的首頁。它結合請求頭的Host字段可以組成一個完整的請求URL:“www.51cto.com/”
  • 第三部分“HTTP1.1”,表明所使用的HTTP協議版本,目前所使用的都是HTTP1.1版本。
    對於這個報文,由於採用的是GET方法,因而沒有請求正文。從第二行直至最後一行,都屬於是請求頭(也被稱爲消息頭),服務端據此獲取客戶端的信息。我們應當熟知請求頭中的內容,這在後面會詳細介紹。
    請求正文是可選的,它最常出現在POST請求方法中。比如打開一個用戶登錄頁面,此時攔截到的HTTP請求就包含完整的三個組成部分。
    HTTP協議(5)HTTP請求和響應

HTTP響應報文總體上也是由三部分組成:響應行、響應頭、響應正文。
下圖是響應報文。
HTTP協議(5)HTTP請求和響應

  • HTTP響應的第一行爲響應行,其中有HTTP版本(HTTP/1.1)、狀態碼(200)以及消息“OK”。
  • 第二行至末尾的空白行爲響應頭,由服務器向客戶端發送。
  • 響應頭之後是響應正文,是由服務器向客戶端發送的HTML數據。
    響應報文中的狀態碼和響應頭都比較重要,這個在後面也會詳細介紹。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章