HTTP報文解析

2021-07-07 11:09:51 字數 2170 閱讀 2223

超文字傳輸協議(hypertext transfer protocol,簡稱http)是應用層協議。http 是一種請求/響應式的協議,即乙個客戶端與伺服器建立連線後,向伺服器傳送乙個請求;伺服器接到請求後,給予相應的響應資訊。

http請求報文分為三部分:請求行、請求頭部、請求包體

方法字段url 字段http 協議版本字段3 個部分組成,他們之間使用空格隔開。

常用的 http 請求方法有:

get、post、head、put、delete、options、trace、connect;

請求頭部由關鍵字/值對組成,每行一對,關鍵字和值用英文冒號「:」分隔。請求頭部通知伺服器有關於客戶端請求的資訊。

典型的請求頭有:

最後乙個請求頭之後是乙個空行,傳送回車符和換行符,通知伺服器以下不再有請求頭。

請求包體不在 get 方法中使用,而是在post 方法中使用。post 方法適用於需要客戶填寫表單的場合。與請求包體相關的最常使用的是包體型別 content-type 和包體長度 content-length。

http響應報文分為三部分:狀態行、響應頭部、響應包體。

狀態行由http 協議版本字段狀態碼狀態碼的描述文字3 個部分組成,他們之間使用空格隔開。

狀態碼由三位數字組成,第一位數字表示響應的型別,常用的狀態碼有五大類如下所示:

詳細的http響應報文狀態行狀態碼見我曾寫過的一篇部落格:http響應報文狀態行狀態碼

響應頭可能包括:

最後乙個響應頭部之後是乙個空行,傳送回車符和換行符,通知伺服器以下不再有響應頭部。

伺服器返回給客戶端的文字資訊;

HTTP特點與報文解析

http允許傳輸任意型別的物件 正在傳輸的型別有content type content type是http包中用來表示內容型別的標識 加以標記 無連線的含義是限制每次連線只處理乙個請求 伺服器處理完客戶的請求,並收到客戶的應答後,即斷開連線 採用這種方式可以節省傳輸時間 http是無狀態協議 無狀...

http多chunk報文C 解析

專案需要c 實現http報文的收發,網上找了下發現沒有合適的,自己動手寫了個。可解析如下兩類報文 1.乙個報文包含多個chunk 2.乙個chunk包含在多個報文中 極端情況下,乙個報文只含有乙個位元組 如下 解析函式 狀態跳轉,設定狀態 ptask m head processing false ...

HTTP的報文格式解析

http報文是面向文字的,報文中每乙個欄位都是一些ascii碼串,各個欄位的長度是不確定的。http有兩類報文 請求報文 響應報文 乙個http請求報文由 四部分組成 a 請求行 請求行由請求方法字段 url欄位和http協議版本字段,組成,它們用空格分隔,例如 get index.html htt...