· 關於計算機網絡,HTTP網絡通信協議在任何的開發工作中都非常重要
· 今天,我將獻上一份HTTP的學習指南,希望你們會喜歡
講解HTPP協議前,先了解一些基礎的計算機網絡相關知識
1.1 計算機網絡體系結構
· 定義 計算機網絡的各層 + 其協議的集合
· 作用 定義該計算機網絡的所能完成的功能
· 結構介紹 計算機網絡體系結構分為3種:OSI體系結構、TCP/ IP體系結構、五層體系結構
. OSI體系結構:概念清楚 & 理念完整,但複雜 & 不實用
. TCP/ IP體系結構:含了一系列構成互聯網基礎的網絡協議,是Internet的核心協議 & 被廣泛應用於局域網 和 廣域網
. 五層體系結構:融合了OSI與 TCP/ IP的體系結構,目的是為了學習 & 講解計算機原理
1.2 HTTP 協議通信的基礎模型
· HTTP協議傳輸信息的基礎:TCP/IP協議模型
· HTTP協議 屬於 最高層的應用層
下面,將簡單介紹一下 HTTP
· HTTP協議採用 請求 / 響應的工作方式
· 具體工作流程如下:
· HTTP在 應用層 交互數據的方式 = 報文
· HTTP的報文分為:請求報文 & 響應報文
分別用於 發送請求 & 響應請求時
· 下面,將詳細介紹這2種報文
4.1 請求報文
4.1.1 報文結構
· HTTP的請求報文由 請求行、請求頭 & 請求體組成,如下圖
· 下面,將詳細介紹每個組成部分
4.1.2 結構詳細介紹
組成1:請求行
· 作用 聲明 請求方法 、主機域名、資源路徑 & 協議版本
· 結構 請求行的組成 = 請求方法 + 請求路徑 + 協議版本
注:空格不能省
· 組成介紹
此處特意說明GET、PSOT方法的區別:
· 示例 設:請求報文采用GET方法、 URL地址 = ;、HTTP1.1版本
則 請求行是:GET /chn/yxsz/index.htm HTTP/1.1
組成2:請求頭
· 作用:聲明 客戶端、服務器 / 報文的部分信息
· 使用方式:採用"header(字段名):value(值)"的方式
· 常用請求頭 1. 請求和響應報文的通用Header
2. 常見請求Header
· 舉例: (URL地址:) Host:www.tsinghua.edu.cn (表示主機域名) User - Agent:Mozilla/5.0 (表示用戶代理是使用Netscape瀏覽器)
組成3:請求體
· 作用:存放 需發送給服務器的數據信息
可選部分,如 GET請求就無請求數據
· 使用方式:共3種
至此,關於請求報文的請求行、請求頭、請求體 均講解完畢。
4.1.3 總結
· 關於 請求報文的總結如下
· 請求報文示例
4.2 HTTP響應報文
4.2.1 報文結構
· HTTP的響應報文包括:狀態行、響應頭 & 響應體
· 其中,響應頭、響應體 與請求報文的請求頭、請求體類似
· 這2種報文最大的不同在於 狀態行 & 請求行
下面,將詳細介紹每個組成部分
4.2.2 結構詳細介紹
組成1:狀態行
· 作用 聲明 協議版本,狀態碼,狀態碼描述
· 組成 狀態行有協議版本、狀態碼 &狀態信息組成
其中,空格不能省
· 具體介紹
· 狀態行 示例 HTTP/1.1 202 Accepted(接受)、HTTP/1.1 404 Not Found(找不到)
組成2:響應頭
· 作用:聲明客戶端、服務器 / 報文的部分信息
· 使用方式:採用"header(字段名):value(值)"
· 常用請求頭 1. 請求和響應報文的通用Header
2. 常見響應Header
組成3:響應體
· 作用:存放需返回給客戶端的數據信息
· 使用方式:和請求體是一致的,同樣分為:任意類型的數據交換格式、鍵值對形式和分部分形式
4.2.3 響應報文 總結
4.3 總結
下面,簡單總結兩種報文結構
下面將講解一些關於HTTP的額外知識:
· HTTP1.1與 HTTP1.0的區別
· HTTP與 HTTPS的區別
· HTTP處理長連接的方式
5.1 HTTP1.1 與 HTTP1.0的區別
Http1.1比 Http1.0多了以下優點:
· 引入持久連接,即 在同一個TCP的連接中可傳送多個HTTP請求 & 響應
· 多個請求 & 響應可同時進行、可重疊
· 引入更加多的請求頭 & 響應頭
如 與身份認證、狀態管理 & Cache緩存等機制相關的、HTTP1.0無host字段
5.2 HTTP 與HTTPS的區別
5.3 HTTP處理長連接的方式
· 本文全面總結了HTTP的基礎知識
看完本文有收穫?請轉發分享給更多人
關注[Java學習之樂 ]全棧開發工程師
瞭解更多知識關注【Java學習之樂】