什么是HTTP ?

HTTP 協議簡介

HTTP 是超文本傳輸協議 (Hyper Text Transfer Protocol)的縮寫,用于 WWW 服務

HTTP的工作原理

HTTP是一個面向事務的客戶服務器協議.盡管 HTTP使用TCP 作為底層傳輸協議,但是HTTP 協議是無狀態的,也就是說,每個事務都是獨立的進行處理.在瀏覽器和服務器之間的請求和響應的交互,必須遵循 HTTP 規定的格式和規則。

1 瀏覽器分析待訪問頁面的 URL 并向本地 DNS 服務器請求 IP 地解析;

2 DNS 服務器解析出該 HTTP 服務器的 IP 地址并將 IP 地址返回給瀏覽器;

3 瀏覽器與 HTTP 服務器建立 TCP 連接,若連接成功,則進入下一步;

4 瀏覽器向 HTTP 服務器發出請求報文 (含 GET 信息),請求訪問服務器的指定頁面;

5 服務器作出響應,將瀏覽器要訪問的頁面發送給瀏覽器,在頁面傳輸過程中,瀏覽器會打開多個端口,與服務器建立多個連接;

6 釋放 TCP 連接;

7 瀏覽器收到頁面并顯示給用戶。

HTTP 報文格式

HTTP 有兩類報文:從客戶到服務器的請求報文和從服務器到客戶的響應報文.

顯示了兩種報文的結構。

請求報文(請求行 首部行[HTTP頭],實體 )

  1. 請求行
    • 方法字段,最常用的方法為 “GET”,表示請求讀取一個萬維網的頁面。常用的方法還有 “HEAD(指讀取頁面的首部)”和“POST(請求接受所附加的信息);
    • URL 字段為主機上的文件名,這時因為在建立 TCP 連接時已經有了主機名;
    • 版本字段說明所使用的 HTTP 協議的版本,一般為 “HTTP/1.1”。
  2. 首部行
    • 第一個字段等同請求行的第三字段;
    • 第二個字段一般為“200”,表示一切正常,狀態碼共有41種,常用的有:301 (網站已轉移),400(服務器無法理解請求報文),404(服務器沒有鎖請求的對象)等;
    • 第三個字段時解釋狀態碼的短語。
    • 根據具體情況,首部行的行數是可變的。請求首部有 Accept 字段,其值表示瀏覽器,可以接受何種類型的媒體;Accept-language,其值表示瀏覽器使用的語言;User-agent 表明可用的瀏覽器類型。響應首部中有 Date、Server、Content-Type、Content-Length 等字段。在請求首部和響應首部中都有 Connection 字段,其值為 Keep-Alive 或 Close,表示服務器在傳送完所請求的對象后是保持連接或關閉連接
  3. 實體
    • 若請求報文中使用 “GET”方法,首部行后面沒有實體主體.
    • 當使用"POST"方法,附加的信息被填寫在實體部分.
    • 在相應報文中 ,實體主部分為服務器發給客戶的對象.
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容