計算機網絡:這是一份全面& 詳細 HTTP協議 學習攻略

前言

  • HTTP網絡通訊協議在任何的開發工做中都很是重要
  • 今天,我將獻上一份HTTP的說明指南,但願大家會喜歡
  • ps:最近在籌備一個」和我一塊兒寫Android「的活動,須要各大讀者的幫忙,但願能看文章參與哦:我想邀請您和我一塊兒寫Android(福利回贈)

目錄

示意圖


1. 儲備知識

講解HTTP協議前,先了解一些基礎的計算機網絡相關知識瀏覽器

1.1 計算機網絡體系結構

  • 定義 計算機網絡的各層 + 其協議的集合緩存

  • 做用 定義該計算機網絡的所能完成的功能服務器

  • 結構介紹 計算機網絡體系結構分爲3種:OSI體系結構、TCP / IP體系結構、五層體系結構微信

  • OSI體系結構:概念清楚 & 理念完整,但複雜 & 不實用
  • TCP / IP體系結構:含了一系列構成互聯網基礎的網絡協議,是Internet的核心協議 & 被普遍應用於局域網 和 廣域網
  • 五層體系結構:融合了OSITCP / IP的體系結構,目的是爲了學習 & 講解計算機原理

示意圖

  • TCP / IP的體系結構詳細介紹 因爲 TCP / IP體系結構較爲普遍,故主要講解
    示意圖

1.2 HTTP 協議通訊的基礎模型

  • HTTP協議傳輸信息的基礎:TCP/IP協議模型 網絡

    示意圖

  • HTTP協議 屬於 最高層的應用層post


2. 簡介

下面,將簡單介紹一下 HTTP學習

示意圖


3. 工做方式

  • HTTP協議採用 請求 / 響應 的工做方式
  • 具體工做流程以下:

示意圖


4. HTTP報文詳解

  • HTTP在 應用層 交互數據的方式 = 報文
  • HTTP的報文分爲:請求報文 & 響應報文

分別用於 發送請求 & 響應請求時計算機網絡

  • 下面,將詳細介紹這2種報文

4.1 請求報文

4.1.1 報文結構

  • HTTP的請求報文由 請求行、請求頭 & 請求體 組成,以下圖

示意圖

  • 下面,將詳細介紹每一個組成部分

4.1.2 結構詳細介紹

組成1:請求行
  • 做用 聲明 請求方法 、主機域名、資源路徑 & 協議版本3d

  • 結構 請求行的組成 = 請求方法 + 請求路徑 + 協議版本代理

注:空格不能省

請求行的組成

  • 組成介紹

示意圖

此處特地說明GET、PSOT方法的區別:

示意圖

則 請求行是:GET /chn/yxsz/index.htm HTTP/1.1

組成2:請求頭
  • 做用:聲明 客戶端、服務器 / 報文的部分信息
  • 使用方式:採用**」header(字段名):value(值)「**的方式
  • 經常使用請求頭 1. 請求和響應報文的通用Header

請求和響應報文的通用Header

2. 常見請求Header

常見請求Header

  • 舉例: (URL地址:www.tsinghua.edu.cn/chn/yxsz/in… 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

請求和響應報文的通用Header

2. 常見響應Header

常見響應Header

組成3:響應體

  • 做用:存放需返回給客戶端的數據信息
  • 使用方式:和請求體是一致的,一樣分爲:任意類型的數據交換格式、鍵值對形式和分部分形式

示意圖

4.2.3 響應報文 總結

示意圖

4.3 總結

下面,簡單總結兩種報文結構

示意圖


5. 額外知識

下面將講解一些關於HTTP的額外知識:

  • HTTP1.1HTTP1.0 的區別
  • HTTPHTTPS的區別
  • HTTP 處理長鏈接的方式

5.1 HTTP1.1 與 HTTP1.0的區別

Http1.1Http1.0 多瞭如下優勢:

  • 引入持久鏈接,即 在同一個TCP的鏈接中可傳送多個HTTP請求 & 響應
  • 多個請求 & 響應可同時進行、可重疊
  • 引入更加多的請求頭 & 響應頭

如 與身份認證、狀態管理 & Cache緩存等機制相關的、HTTP1.0host字段

5.2 HTTP 與HTTPS的區別

示意圖

5.3 HTTP處理長鏈接的方式

示意圖


6. 總結

  • 本文全面總結了HTTP的基礎知識。

  • 接下來我會介紹繼續Android開發中的相關知識,有興趣能夠繼續關注Carson_Ho的安卓開發筆記


歡迎關注carson_ho的微信公衆號

示意圖

示意圖
相關文章
相關標籤/搜索