1. 程式人生 > >HTTP 協議(2)

HTTP 協議(2)

www. 所在 連接 mark 分享 mar resp 服務器 自動轉換

一、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

是所請求資源的 URI,如果 URL 中沒有給出 abs_path,那麽當它作為請求 URI 時必須以 / 的形式給出,通常瀏覽器會幫我們完成這個工作。

如:輸入 www.baidu.com,瀏覽器會自動轉換成 http://www.baidu.com/

二、HTTP 請求

請求報文:請求行、請求頭、請求正文

1. 請求行

請求行格式:方法 + URI + 版本

  1. 方法(Method)

    技術分享圖片

    GET 與 POST 的區別:TODO
    1. GET:
    2. POST:
  2. URI

    URI 就是統一資源標識,是服務器上對某個資源的唯一標識。

  3. 版本(Version)

    現在一般都用 HTTP/1.1 版本。

2. 請求頭

請求頭包含客戶端在向服務器傳遞請求時攜帶的附加信息,包括客戶端自身的信息。

  1. 請求頭的內容如下:

    技術分享圖片

3. 請求正文

對於 GET 請求,不需要請求正文;對於 POST 請求,需要將請求的內容攜帶在請求正文中,如請求多組圖片時會將請求放在請求正文中。

三、HTTP 響應

HTTP 響應報文實際上和 HTTP 請求報文的結構類似,包含:狀態行、響應頭、響應正文。

1. 狀態行

狀態行格式:版本 + 狀態碼 + 說明

  1. 版本(Version)

    現在一般都用 HTTP/1.1 版本。

  2. 狀態碼及說明

    技術分享圖片

2. 響應頭

除了狀態行外,服務器還需攜帶對 Request-URI 所標識資源的下一步訪問的信息和服務器自身的相關信息,這些信息都放在響應頭中。

  1. 常見響應頭

    技術分享圖片

四、HTTP 報文交互實例

  1. Request 報文

    技術分享圖片

  2. Response 報文

    技術分享圖片

HTTP 協議(2)