HTTP 協議(2)
一、URL
HTTP 是一個基於 TCP 的應用層協議,其中 HTTP1.1 版本中支持持續的連接機制(Keep-alive),絕大多數的 WEB 開發都是基於 HTTP 的應用。
HTTP 的 URL 是一種特殊的 URI,URI 只是對某個資源的唯一標識,但不一定能通過 URI 找到該資源,而 URL 則包含了找到該資源的所有信息,即可以通過 URL 找到該資源所在位置。
URL 格式為:http://host[‘:‘port][abs_path]
, 其中,http
代表要通過 HTTP 協議來定位網絡資源;host
代表一個合法的域名或者 IP ;port
為該服務端口,通常是 80,abs_path
abs_path
,那麽當它作為請求 URI 時必須以 /
的形式給出,通常瀏覽器會幫我們完成這個工作。
如:輸入
www.baidu.com
,瀏覽器會自動轉換成http://www.baidu.com/
。
二、HTTP 請求
請求報文:請求行、請求頭、請求正文
1. 請求行
請求行格式:方法 + URI + 版本
方法(Method)
GET 與 POST 的區別:TODO- GET:
- POST:
URI
URI 就是統一資源標識,是服務器上對某個資源的唯一標識。
版本(Version)
現在一般都用 HTTP/1.1 版本。
2. 請求頭
請求頭包含客戶端在向服務器傳遞請求時攜帶的附加信息,包括客戶端自身的信息。
請求頭的內容如下:
3. 請求正文
對於 GET 請求,不需要請求正文;對於 POST 請求,需要將請求的內容攜帶在請求正文中,如請求多組圖片時會將請求放在請求正文中。
三、HTTP 響應
HTTP 響應報文實際上和 HTTP 請求報文的結構類似,包含:狀態行、響應頭、響應正文。
1. 狀態行
狀態行格式:版本 + 狀態碼 + 說明
版本(Version)
現在一般都用 HTTP/1.1 版本。
狀態碼及說明
2. 響應頭
除了狀態行外,服務器還需攜帶對 Request-URI 所標識資源的下一步訪問的信息和服務器自身的相關信息,這些信息都放在響應頭中。
常見響應頭
四、HTTP 報文交互實例
Request 報文
Response 報文
HTTP 協議(2)