HTTP協議解析

2021-09-25 17:17:53 字數 1571 閱讀 4346

1 http協議是什麼

http協議是工作在應用層的一種知名的通訊協議(大佬程式設計師寫的),負責應用程式之間的資料溝通。

http是乙個簡單的請求-響應協議,它通常執行在tcp之上。它指定了客戶端可能傳送給伺服器什麼樣的訊息以及得到什麼樣的響應。

2 http協議的格式解析

首行:

請求首行:請求方法(get/head/post/put/delete) url 版本協議(0.9/1.0/1.1/1.2)\r\n

響應首行:協議版本 響應狀態碼(1 系列 2系列 3系列 4系列 5系列) 狀態碼描述\r\n

頭部:key: val\nkey:val\r\n 以乙個個鍵值對組成,鍵值對以key冒號空格val形式組成,並且每個鍵值對以\r\n作為結尾

空行:用間隔頭部與正文 \r\n

正文: 向伺服器提交的資料/伺服器響應的資料

3 http的工作背景:

1 http協議是工作在應用層面的協議,是基於客戶端—服務端通訊模型的通訊協議

2 客戶端和伺服器端的通訊採用request–response(請求響應機制)

3 這裡所說的客戶端(主動發起請求方)可以是乙個瀏覽器或者爬蟲程式,所說的伺服器端(被動接受請求方)指的是**的web伺服器

4 http的工作原理

1 建立連線: 傳輸層是tcp協議,通過三次握手建立連線

2 客戶端傳送請求資訊:客戶端向服務端傳送請求. 請求的格式為:統一資源識別符號,協議版本號

3 伺服器端傳送響應資訊:伺服器端監聽到客戶端發來的請求資訊後,處理完畢後將響應結果返回給客戶端

4 關閉連線:客戶端根據響應將結果返回給使用者(使用者介面),最終關閉連線

5 http協議的狀態碼

1***系列 ----information(資訊狀態碼)----接受到的請求正在處理

2***系列 ----sucess(成功狀態碼)-------請求正常處理完畢

3***系列-----redirection(重定向狀態碼)—需要附加操作以完成請求(需要轉移**)

4***系列 ----client error(客戶端錯誤狀態碼)–伺服器無法處理請求(網頁丟失)

5***系列----server erro(伺服器端錯誤狀態碼)–伺服器處理請求出錯

一些常見的狀態碼,

比如 200(ok) :請求處理正常

302(redirect, 重定向), :跳轉網頁

404(not found), :網頁丟失/找的網頁不存在

403(forbidden ) :網頁被禁止

504(bad gateway) :錯誤閘道器

HTTP協議解析

客戶端 通過傳送請求獲取伺服器資源的 web 瀏覽器等.http hypertext transfer protocol,超文字傳輸協議 url uniform12resource locator,統一資源定位符 tcp ip 網際網路相關的各類協議族的總稱 uri 統一資源識別符號,表示由某個協議...

HTTP協議 具體解析

之前介紹過http的基礎知識,這章來繼續 一下具體組成。為之後自己寫web伺服器打個基礎。超文字傳輸協議,具體的看我之前的部落格 http協議。http通常是作為應用層的協議。http協議承載於tcp協議之上,有時候也承載在tls ssl協議層之上 https 回顧一下工作流程 客戶端連線到web伺...

HTTP協議解析(簡)

總結http協議 規定了瀏覽器和伺服器端的資料互動的格式 特點是 基於請求和響應模型。必須要先有請求,後有響應。請求和響應必須成對出現。簡單快捷。因為傳送請求的時候只需要傳送請求方式和請求路徑即可 請求行1.請求方式 請求方式有很多種,常用就兩種get 和post get和post的區別?get 請...