1. 程式人生 > >HTTP協議學習筆記

HTTP協議學習筆記

字節 ash tcp/ip協議 連接 斷開連接 服務器 客戶端 寫入 com

一、web及網絡基礎

TCP/IP分層管理

應用層——傳輸層——網絡層——鏈路層

TCP/IP通信傳輸流

想瀏覽http://www.xxx.com/aaa/頁面,客戶端(瀏覽器)請求DNS服務,得到與域名對應的IP地址,生成HTTP請求報文,TCP將請求報文分割為若幹段,依靠IP協議,搜索對方的地址,一邊跳轉一邊傳送,TCP將收到的報文段重組為原來的順序,WEB服務器依靠HTTP協議,對請求的內容進行處理,請求的處理結果同樣也用TCP/IP協議向用戶回傳。

URL格式

協議方案名://登錄信息@服務器地址:服務器端口號/帶層次的文件路徑?查詢字符串#片段標識符

http://user:[email protected]:80/dir/index.htm?uid=1#ch1

二、HTTP協議

HTTP協議用於客戶端和服務器之間的通信,是無狀態協議。

客戶端發出請求,服務器端響應該請求並返回。

HTTP方法:

GET 獲取資源
POST 傳輸實體主體
PUT 傳輸文件
HEAD 獲得報文首部
DELETE 刪除文件
OPTIONS 詢問支持的方法
TRACE 追蹤路徑
CONNECT 要求用隧道協議連接代理

持久連接

只要任意一端沒有提出斷開連接,則保持TCP連接狀態。

管線化

不必等待響應亦可直接發送下一個請求。

COOKIE

cookie技術通過在請求和響應報文中寫入cookie信息來控制客戶端的狀態。

三、HTTP報文內的HTTP信息

HTTP報文

HTTP協議交互的信息被稱為HTTP報文。請求端(客戶端)的報文叫做請求報文,響應端(服務器端)的報文叫做響應報文。

HTTP報文大致分為報文首部和報文主體兩部分,由空行劃分(CR+LF)。通常,並不一定要有報文主體。

請求報文首部分為請求首部字段 、通用首部字段和實體首部字段;

響應報文首部分為響應首部字段、通用首部字段和實體首部字段。

請求報文和響應報文的首部內容由以下內容組成:

  1. 請求行
  2. 狀態行
  3. 首部字段
  4. 其他(cookie等)

技術分享

技術分享

編碼提升傳輸效率

報文主體和實體主體的差異

報文(message)是HTTP通信中的基本單位,由8位組字節流(octet sequence,其中octet為8個比特)組成,通過HTTP通信傳輸。

實體(entity)作為請求請求或響應的有效載荷數據(補充項)被傳輸,其內容由實體首部和實體主體組成。

HTTP報文的主體用於傳輸請求或響應的實體主體。

通常,報文主體等於實體主體,只有當傳輸中進行編碼操作時,實體主體的內容發生變化,才導致它和報文主體產生差異。

HTTP協議學習筆記