Java Web學習4(HTTP協議)

1、HTTP簡介

HTTP(hypertext transfer protocol,超文本傳輸協議),是HTML文檔的網絡傳輸協議,該協議規定了WEB的基本運作過程,以及瀏覽器與web服務器之間的通信細節。

作用:規範了瀏覽器和服務器數據交互的格式。

HTTP協議特點:

(1)端口號:在分層網絡體系結構中,HTTP位於應用層,建立在TCP/IP協議基礎上,默認端口號爲80。

(2)HTTP協議是無連接的:Http使用了面向連接的TCP協議作爲運輸層協議,保證了數據的傳輸可靠。但是HTTP協議是無連接的,即通信雙方在交換HTTP報文之前不需要建立HTTP連接。

(3)HTTP協議是無狀態的:同一個客戶第一次訪問同一個服務器上的界面時,服務器的響應與第一次被訪問時相同。

2、HTTP通信過程

客戶端與服務端進行一次信息交換,包括以下四個部分:

  • 客戶端與服務端建立TCP連接(瀏覽器輸入網址點擊回車)
  • 客服端發出HTTP請求
  • 服務端發出HTTP響應
  • 客戶端與服務端之間關閉TCP連接(HTTP1.1後不會立即關閉)

 

 3、HTTP報文結構

HTTP有兩類報文:請求報文和響應報文。

  • 請求報文:從客戶端向服務器發送請求報文。
  • 響應報文:從服務器到客戶端的回答。

報文的每個字段都爲ASCII碼,HTTP的請求報文和響應報文都是由三部分組成的,由開始行、首部行和實體主體組成。

  • 開始行用於區分是請求報文還是響應報文,請求報文的開始行叫做請求行,響應報文的開始行叫做狀態行
  • 首部行:用於說明瀏覽器、服務器或報文主體的一些信息。
  • 實體主體

(1)請求行格式的結構

  • 請求頭:請求方式、請求的地址和HTTP協議版本。
  • 請求行:消息報頭。一般用來說明客戶端要使用的一些附加信息。
  • 空行:位於請求行和請求數據之間。空行是必須的。
  • 請求數據:非必須。

 

HTTP請求可以利用HTTP標準中定義的其中一個請求方法。請求方式共有8種:GET、POST、HEAD等。GET和POST是最常用的。

 請求實例:

 

第一行:請求方法/URI/協議版本號 

最後一行:請求主體

(2)響應行格式的結構

  • 響應行:HTTP版本、狀態碼、狀態消息
  • 響應頭:消息報頭、客戶端使用的附加信息。
  • 空行:響應頭和響應實體之間,必須添加。
  • 響應實體:正文,服務器返回給瀏覽器的信息。

狀態碼:

響應實例:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章