HTTP協議相關知識總結

HTTP協議相關知識總結(一)

/*

HTTP協議相關知識總結

參考書籍:《圖解HTTP》 【日】 上野宣

寫在前面:以前看TCP/IP詳解,分分鐘想睡覺,這本書趣味十足,以後有機會可以讀一讀,我是通信工程畢業的,已經有了一定的網絡基礎,TCP/IP協議略懂,雖然我們已經從C/S時代過渡到了B/S時代,理解協議時最好還是C/S模式,關於協議的學習,最好的方法我覺著還是對照著流程用wireshark抓報文分析。自從1997發佈HTTP/1..1,除了更換了一個規範,從RFC2068到RFC2616,其餘的標準一直沿用至今。。。。

ps:我才發現有道雲筆記插入圖片竟然不識別png格式的。。。。

*/

本文主要框架:

HTTP協議相關知識總結


關鍵名詞

HTTP(HyperText Transfer Protocol):超文本傳輸協議

URI (Uniform Resource Identifier) :統一資源表示符(RFC4395),http協議就是通過請求URI來定位資源。

URL (Uniform Resource Identifier) :簡單說來URL就是URI的子集

相對URI格式:協議名稱://域名.根域名/目錄/文件名。後綴

絕對URI格式:協議名稱://登陸信息/域名、端口號/帶層次的文件路徑/查詢字符串/片段標識符

DNS(Domain Name System ) : 域名系統


HTTP協議方法

要看懂報文,報文首部的方法一定要明白,以下是對協議方法的一點總結

HTTP協議相關知識總結


HTTP協議特點

無狀態協議,所以需要cookie 狀態管理。無狀態協議固然有其優點比如可減少服務器的CPU及內存資源的消耗,不過可以在請求和響應報文中寫入Cookie消息來控制客戶端的狀態。


HTTP報文內的HTTP消息

HTTP協議交互的消息就叫做HTTP報文,是HTTP通信中的基本單位,由8位組字節流組成

HTTP協議相關知識總結

報文結構主要如下所示

HTTP協議相關知識總結

HTTP 的一些特定功能:

  • 壓縮傳輸的內容編碼
  • 分割傳送的分塊傳輸編碼
  • 發送多種數據的多部門對象集合
  • 獲取部分內容的範圍請求
  • 內容協商返回最合適的內容

返回結果的HTTP狀態碼

HTTP協議相關知識總結


與HTTP協作的WEB服務器

http/1.1規範允許一臺http服務器搭建多個web站點。物理主機加虛擬主機

http通信時,除客戶端和服務器外,還有一些通信數據轉發的應用程序,例如:代理,網關和隧道。

代理

在客戶端和服務器扮演中間人。追加個via首部消息。有個緩存代理的特點,緩存服務器本身也是一種代理服務器(HLS協議中常用)

網關

也是一服務器,轉發其它服務器的通信數據,同時處理客戶端發來的請求。網關與服務器間可以提供非HTTP協議服務,更安全

隧道

隧道是在相隔很遠的客戶端和服務器倆者之間進行中轉,並保持雙方通信連接的應用程序。本身不會去解析HTTP報文


分享到:


相關文章: