計算機網路基礎:這是一份詳細 HTTP 學習指南
前言
- 關於計算機網路,
HTTP
網路通訊協議在任何的開發工作中都非常重要 - 今天,我將獻上一份
HTTP
的學習指南,希望你們會喜歡
目錄
1. 儲備知識
講解HTPP
協議前,先了解一些基礎的計算機網路相關知識
1.1 計算機網路體系結構
-
定義
計算機網路的各層 + 其協議的集合 -
作用
定義該計算機網路的所能完成的功能 -
結構介紹
計算機網路體系結構分為3種:OSI
體系結構、TCP
/IP
體系結構、五層體系結構OSI
體系結構:概念清楚 & 理念完整,但複雜 & 不實用TCP
/IP
體系結構:含了一系列構成網際網路基礎的網路協議,是Internet
的核心協議 & 被廣泛應用於區域網 和 廣域網- 五層體系結構:融合了
OSI
與TCP
/IP
的體系結構,目的是為了學習 & 講解計算機原理
TCP
/IP
的體系結構詳細介紹
由於TCP
/IP
體系結構較為廣泛,故主要講解
1.2 HTTP 協議通訊的基礎模型
-
HTTP
協議傳輸資訊的基礎:TCP/IP
協議模型 -
HTTP
協議 屬於 最高層的應用層
2. 簡介
下面,將簡單介紹一下 HTTP
3. 工作方式
HTTP
協議採用 請求 / 響應 的工作方式- 具體工作流程如下:
4. HTTP報文詳解
HTTP
在 應用層 互動資料的方式 = 報文HTTP
的報文分為:請求報文 & 響應報文分別用於 傳送請求 & 響應請求時
- 下面,將詳細介紹這2種報文
4.1 請求報文
4.1.1 報文結構
HTTP
的請求報文由 請求行、請求頭 & 請求體 組成,如下圖
- 下面,將詳細介紹每個組成部分
4.1.2 結構詳細介紹
組成1:請求行
-
作用
宣告 請求方法 、主機域名、資源路徑 & 協議版本 -
結構
請求行的組成 = 請求方法 + 請求路徑 + 協議版本注:空格不能省
- 組成介紹
此處特意說明GET、PSOT方法的區別:
- 示例
設:請求報文采用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
2. 常見請求Header
- 舉例:
(URL地址:http://www.tsinghua.edu.cn/chn/yxsz/index.htm)
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 總結
下面,簡單總結兩種報文結構
5. 額外知識
下面將講解一些關於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處理長連線的方式
6. 總結
- 本文全面總結了
HTTP
的基礎知識 - 接下來我會介紹繼續
Android
開發中的相關知識,有興趣可以繼續關注Carson_Ho的安卓開發筆記
相關文章
- 網路基礎|送你一份詳細HTTP學習指南HTTP
- 計算機網路:這是一份全面& 詳細 HTTP協議 學習攻略計算機網路HTTP協議
- 計算機網路基礎計算機網路
- 面試帶你飛:這是一份全面的 計算機網路基礎 總結攻略面試計算機網路
- 計算機基礎-網路基礎計算機
- 面試:計算機網路基礎詳解(一)面試計算機網路
- 計算機網路基礎-Socket計算機網路
- Android 動畫:這是一份詳細 & 清晰的 動畫學習指南Android動畫
- 計算機網路基礎(1)——概述計算機網路
- 這是一份全面 & 詳細的Google序列化神器protocolBuffer 學習指南GoProtocol
- 計算機通訊與網路基礎計算機
- 計算機網路基礎-2-物理層計算機網路
- 計算機網路基礎知識總結計算機網路
- 計算機網路基礎知識點快速複習手冊計算機網路
- 前端面試題 | 計算機網路基礎篇前端面試題計算機網路
- 計算機網路基礎第五講 傳輸層計算機網路
- 計算機網路基礎知識(面試準備)計算機網路面試
- Android:這是一份全面 & 詳細的Retrofit 2.0 原始碼分析指南Android原始碼
- 網路基礎之HTTP協議HTTP協議
- 計算機網路基礎(2)——OSI七層參考模型計算機網路模型
- 《計算機網路學習指南》——學習網路,這一篇足以讓你心滿意足計算機網路
- Android RxJava:這是一份RxJava使用入門學習指南AndroidRxJava
- 【計算機網路基礎】OSI參考模型及其各層分別是什麼作用?計算機網路模型
- 深度學習教程 | 神經網路基礎深度學習神經網路
- 筆記:網路基礎TCP、HTTP、HTTPS(HTTP+SSL)筆記TCPHTTP
- 這是一份全面 & 詳細的Android多執行緒知識總結指南Android執行緒
- 一、《圖解HTTP》- WEB和網路基礎圖解HTTPWeb
- 計算機網路學習計算機網路
- 資源 | 普通程式設計師如何自學機器學習?這裡有一份指南~程式設計師機器學習
- 網路基礎 Modbus協議學習總結協議
- 01 前端HTTP協議(圖解HTTP) 之 網路基礎前端HTTP協議圖解
- [計算機網路]HTTP 1.0/HTTP 1.1/HTTP 2.0計算機網路HTTP
- 計算機網路基礎:區域網技術區域網的技術特點分享計算機網路
- 一份 Python 機器學習線上指南Python機器學習
- [視訊] 雲端計算網路基礎那點事兒
- Linux學習筆記(第十二篇)網路基礎Linux筆記
- Java:這是一份詳細&全面的HashMap 1.7 原始碼分析JavaHashMap原始碼
- 網路基礎