網路基礎|送你一份詳細HTTP學習指南

民工哥技術之路發表於2018-09-10

前言

  • 關於計算機網路,HTTP網路通訊協議在任何的開發工作中都非常重要

  • 今天,我將獻上一份HTTP的學習指南,希望你們會喜歡

目錄

網路基礎|送你一份詳細HTTP學習指南

1. 儲備知識

講解HTPP協議前,先了解一些基礎的計算機網路相關知識

1.1 計算機網路體系結構

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

  • 作用
    定義該計算機網路的所能完成的功能

  • 結構介紹
    計算機網路體系結構分為3種:OSI體系結構、TCP / IP體系結構、五層體系結構

  • OSI體系結構:概念清楚 & 理念完整,但複雜 & 不實用

  • TCP / IP體系結構:含了一系列構成網際網路基礎的網路協議,是Internet的核心協議 & 被廣泛應用於區域網 和 廣域網

  • 五層體系結構:融合了OSITCP / IP的體系結構,目的是為了學習 & 講解計算機原理

網路基礎|送你一份詳細HTTP學習指南

  • TCP / IP的體系結構詳細介紹
    由於 TCP / IP體系結構較為廣泛,故主要講解
    網路基礎|送你一份詳細HTTP學習指南

1.2 HTTP 協議通訊的基礎模型

  • HTTP協議傳輸資訊的基礎:TCP/IP協議模型
    網路基礎|送你一份詳細HTTP學習指南

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

2. 簡介

下面,將簡單介紹一下 HTTP

網路基礎|送你一份詳細HTTP學習指南

3. 工作方式

  • HTTP協議採用 請求 / 響應 的工作方式

  • 具體工作流程如下:

網路基礎|送你一份詳細HTTP學習指南

4. HTTP報文詳解

  • HTTP在 應用層 互動資料的方式 = 報文

  • HTTP的報文分為:請求報文 & 響應報文

    分別用於 傳送請求 & 響應請求時
  • 下面,將詳細介紹這2種報文

4.1 請求報文

4.1.1 報文結構

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

網路基礎|送你一份詳細HTTP學習指南

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

4.1.2 結構詳細介紹

組成1:請求行
  • 作用
    宣告 請求方法 、主機域名、資源路徑 & 協議版本

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

    注:空格不能省

網路基礎|送你一份詳細HTTP學習指南

  • 組成介紹

網路基礎|送你一份詳細HTTP學習指南

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

網路基礎|送你一份詳細HTTP學習指南

  • 示例
    設:請求報文采用GET方法、 URL地址 = http://www.tsinghua.edu.cn/chn/yxsz/index.htm;、HTTP1.1版本

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

組成2:請求頭
  • 作用:宣告 客戶端、伺服器 / 報文的部分資訊

  • 使用方式:採用”header(欄位名):value(值)“的方式

  • 常用請求頭
    1. 請求和響應報文的通用Header

網路基礎|送你一份詳細HTTP學習指南

2. 常見請求Header

網路基礎|送你一份詳細HTTP學習指南

  • 舉例:
    (URL地址:http://www.tsinghua.edu.cn/chn/yxsz/index.htm)
    Host:www.tsinghua.edu.cn (表示主機域名)
    User - Agent:Mozilla/5.0 (表示使用者代理是使用Netscape瀏覽器)

組成3:請求體
  • 作用:存放 需傳送給伺服器的資料資訊

    可選部分,如 GET請求就無請求資料

  • 使用方式:共3種

網路基礎|送你一份詳細HTTP學習指南

至此,關於請求報文的請求行、請求頭、請求體 均講解完畢。

4.1.3 總結

  • 關於 請求報文的總結如下

網路基礎|送你一份詳細HTTP學習指南

  • 請求報文示例

網路基礎|送你一份詳細HTTP學習指南

4.2 HTTP響應報文

4.2.1 報文結構

  • HTTP的響應報文包括:狀態行、響應頭 & 響應體

網路基礎|送你一份詳細HTTP學習指南

  • 其中,響應頭、響應體 與請求報文的請求頭、請求體類似

  • 這2種報文最大的不同在於 狀態行 & 請求行

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

4.2.2 結構詳細介紹

組成1:狀態行

  • 作用
    宣告 協議版本,狀態碼,狀態碼描述

  • 組成
    狀態行有協議版本、狀態碼 &狀態資訊組成

    其中,空格不能省


網路基礎|送你一份詳細HTTP學習指南

  • 具體介紹
    網路基礎|送你一份詳細HTTP學習指南

  • 狀態行 示例
    HTTP/1.1 202 Accepted(接受)、HTTP/1.1 404 Not Found(找不到)

組成2:響應頭

  • 作用:宣告客戶端、伺服器 / 報文的部分資訊

  • 使用方式:採用”header(欄位名):value(值)“的方式

  • 常用請求頭
    1. 請求和響應報文的通用Header

網路基礎|送你一份詳細HTTP學習指南

2. 常見響應Header

網路基礎|送你一份詳細HTTP學習指南

組成3:響應體

  • 作用:存放需返回給客戶端的資料資訊

  • 使用方式:和請求體是一致的,同樣分為:任意型別的資料交換格式、鍵值對形式和分部分形式

網路基礎|送你一份詳細HTTP學習指南

4.2.3 響應報文 總結

網路基礎|送你一份詳細HTTP學習指南

4.3 總結

下面,簡單總結兩種報文結構
網路基礎|送你一份詳細HTTP學習指南

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的區別

網路基礎|送你一份詳細HTTP學習指南

5.3 HTTP處理長連線的方式

網路基礎|送你一份詳細HTTP學習指南

6. 總結

本文全面總結了HTTP的基礎知識,如果覺得我的分享不錯,歡迎大家隨手點贊、轉發。

網路基礎|送你一份詳細HTTP學習指南


相關文章