前端系列課程(4)-HTTP 協議

瀏覽器和服務器之間的通訊,最常用的通訊協議之一就是 HTTP 協議。HTTP(HyperText Transfer Protocol,超文本傳輸協議),互聯網上應用最廣泛的一種網絡協議,用於定義 Web 瀏覽器與 Web 服務器之間交換數據的過程。

[ 特點 ] 基於請求 / 響應模型的協議。請求和響應必須成對出現,且先有請求後有響應。


HTTP 協議默認的端口是:80 。如,http://www.webpiece.cn:80

// 版本

HTTP/1.0,發送請求,創建一次連接,獲得一個 Web 資源,連接斷開。

HTTP/1.1,發送請求,創建一個連接,獲得多個 Web 資源,連接斷開。


前端系列課程(4)-HTTP 協議

http請求與響應過程

[ HTTP 事務 ] 一個完整的 http 請求是怎樣一個過程呢? // 抓包工具:HttpWatch(僅支持 IE)

請求過程:瀏覽器向服務器發送一個包含命令和 URL 的請求報文;響應過程:當服務器接收到請求報文後,會進行一系列計算,然後,向瀏覽器返回一個響應報文,瀏覽器接收到響應報文會將報文的主體顯示在瀏覽器上。

[ HTTP 報文 ] ~ 分為請求報文和響應報文,它們都是由三部分組成:頭行、頭部和主體。

HTTP 請求包括:請求行、請求頭、請求體;

HTTP 響應包括:響應行、響應頭、響應體。

請求報文


前端系列課程(4)-HTTP 協議

請求報文格式

[1] 請求行:HTTP 請求格式的第一行,格式:請求方式 資源路徑 協議/版本

[ 請求方式 ] 協議規定了 7 種方式,在使用時,需要注意使用場景(獲取、發送、請求、刪除)與其方法相對應。


前端系列課程(4)-HTTP 協議

7種請求方式描述

常用的請求方式是:get 請求和 post 請求。

(1)GET 請求:將請求參數追加在 URL 後面,不安全;URL 長度限制 GET 請求方式的數據大小(瀏覽器不同,有所不同,一般不大於 8kb);沒有請求體。

(2)POST 請求:請求參數顯示請求體處,較安全;請求數據大小沒有顯示。

只有表單設置為 method="post" 才是 post 請求,其他的都是 get 請求。

常見 GET 請求:地址欄直接訪問、

[2] 請求頭:通常以鍵值對(key:value)方式傳遞數據 — key 為規範規定的固定值,value 為 key 對應的取值。


前端系列課程(4)-HTTP 協議

請求頭描述

[3] 請求體:通常情況下,只有 post 請求才會使用到請求體,請求體中都是用戶表單提交的數據,每一項數據都使用鍵值對,多組值使用 & 連接。如,username=tom&password=12345。

響應報文


前端系列課程(4)-HTTP 協議

響應報文格式

[1] 響應行:協議/版本 + 狀態碼 + 狀態碼描述

[ 狀態碼 ] 服務器與瀏覽器用於確定狀態的固定數字號碼。


前端系列課程(4)-HTTP 協議

響應狀態碼描述

[2] 響應頭:服務器通過響應頭(鍵值對)來控制瀏覽器的行為,不同的頭,瀏覽器操作不同。


前端系列課程(4)-HTTP 協議

響應頭描述

[3] 響應體:服務器發送給瀏覽器的正文。


分享到:


相關文章: