網路協議(三) HTTP協議

2021-09-26 06:20:42 字數 2891 閱讀 6098

http全稱是hypertext transfer protocal,即:超文字傳輸協議,http連線最顯著的特點是客戶端傳送的每次請求都需要伺服器回送響應,在請求結束後,會主動釋放連線。從建立連線到關閉連線的過程稱為「一次連線」。http是乙個應用層協議,由請求和響應構成,是乙個標準的客戶端伺服器模型。http是乙個無狀態的協議。

為了理解 http,我們有必要事先了解一下 tcp/ip 協議族。

通常使用的網路(包括網際網路)是在 tcp/ip 協議族的基礎上運作的。而 http 屬於它內部的乙個子集。 接下來,我們僅介紹理解 http 所需掌握的 tcp/ip 協議族的概要。更多tcp協議詳情請參考我的另一篇部落格:網路協議(一) tcp/ip 協議

https(secure hypertext transfer protocol)安全超文字傳輸協議 它是乙個安全通訊通道

https是http over ssl/tls,http是應用層協議,tcp是傳輸層協議,在應用層和傳輸層之間,增加了乙個安全套接層ssl/tls:

a. 內容加密 建立乙個資訊保安通道,來保證資料傳輸的安全;

b. 身份認證 確認**的真實性

c. 資料完整性 防止內容被第三方冒充或者篡改

對比項

是否需要到ca申請證書

不需要需要

預設埠號

80443

資訊是否加密

超文字傳輸協議,資訊是明文傳輸

是具有安全性的ssl加密傳輸協議

是否有狀態

是無狀態的

https協議是由ssl+http協議構建的可進行加密傳輸、身份認證的網路協議,比http協議安全。

http協議狀態碼

意義說明

200成功

伺服器已成功處理了請求. 通常,這表示伺服器提供了請求的網頁

201已建立

請求成功並且伺服器建立了新的資源

202已接受

伺服器已接受請求,但尚未處理

203非授權資訊

伺服器已成功處理了請求,但返回的資訊可能來自另一**

204無內容

伺服器成功處理了請求,但沒有返回任何內容

205重置內容

伺服器成功處理了請求,但沒有返回任何內容

206部分內容

伺服器成功處理了部分 get 請求

http協議狀態碼

意義說明

300多種選擇

針對請求,伺服器可執行多種操作。 伺服器可根據請求者 (user agent) 選擇一項操作,或提供操作列表供請求者選擇

301永久移動

請求的網頁已永久移動到新位置。 伺服器返回此響應(對 get 或 head 請求的響應)時,會自動將請求者轉到新位置

302臨時移動

伺服器目前從不同位置的網頁響應請求,但請求者應繼續使用原有位置來進行以後的請求

303檢視其他位置

請求者應當對不同的位置使用單獨的 get 請求來檢索響應時,伺服器返回此**

304未修改

自從上次請求後,請求的網頁未修改過。 伺服器返回此響應時,不會返回網頁內容

305使用**

請求者只能使用**訪問請求的網頁。 如果伺服器返回此響應,還表示請求者應使用**

307臨時重定向

伺服器目前從不同位置的網頁響應請求,但請求者應繼續使用原有位置來進行以後的請求

http協議狀態碼

意義說明

400錯誤請求

伺服器不理解請求的語法

401未授權

請求要求身份驗證。 對於需要登入的網頁,伺服器可能返回此響應

402403

禁止伺服器拒絕請求

404未找到

伺服器找不到請求的網頁

405方法禁用

禁用請求中指定的方法

406不接受

無法使用請求的內容特性響應請求的網頁

407需要**授權

此狀態**與 401(未授權)類似,但指定請求者應當授權使用**

408請求超時

伺服器等候請求時發生超時

409衝突

伺服器在完成請求時發生衝突。 伺服器必須在響應中包含有關衝突的資訊

410已刪除

如果請求的資源已永久刪除,伺服器就會返回此響應

411需要有效長度

伺服器不接受不含有效內容長度標頭字段的請求。 (報文不一致)

412未滿足前提條件

伺服器未滿足請求者在請求中設定的其中乙個前提條件

413請求實體過大

伺服器無法處理請求,因為請求實體過大,超出伺服器的處理能力

414請求的 uri 過長

請求的 uri(通常為**)過長,伺服器無法處理

415不支援的**型別

請求的格式不受請求頁面的支援

416請求範圍不符合要求

如果頁面無法提供請求的範圍,則伺服器會返回此狀態**

417未滿足期望值

伺服器未滿足"期望"請求標頭字段的要求

http協議狀態碼

意義說明

500伺服器內部錯誤

伺服器遇到錯誤,無法完成請求

501尚未實施

伺服器不具備完成請求的功能。 例如,伺服器無法識別請求方法時可能會返回此**

502錯誤閘道器

伺服器作為閘道器或**,從上游伺服器收到無效響應

503服務不可用

伺服器目前無法使用(由於超載或停機維護)。 通常,這只是暫時狀態

504閘道器超時

伺服器作為閘道器或**,但是沒有及時從上游伺服器收到請求

505http 版本不受支援

伺服器不支援請求中所用的 http 協議版本

網路協議 HTTP協議簡介

http的作用 http hyper text transfer protocol 超文字傳輸協議,是基於應用層 tcp ip參考模型 的通訊規範 是從web伺服器傳輸超文字到客戶端的傳輸協議,無狀態的傳輸協議 不僅能夠保證正確 快速 高效的傳輸超文字文件,而且可以確定資源載入順序等。http是不儲...

網路 http協議

http hypertext transfer protocol 即超文字傳輸協議,現在基本上所有web專案都遵從http協議。目前絕大部分使用的都是http 1.1版本 1.0太老2.0仍在制訂中 url 就是我們俗稱的 urlencode和urldecode 等這樣的字元,已經被url當做特殊意...

http網路協議

http hypertext transport protocol 即超文字傳輸協議。主要分為客戶端到服務端的請求協議,服務端到客戶端的響應協議 1.請求報文 請求方法 get post head put delete get方法 http預設方法 沒有請求體 資料大小有限制 請求資料會顯示在瀏覽器...