http協議基礎 簡介 報文格式 狀態碼

2021-10-04 05:54:16 字數 3209 閱讀 3223

uri: 全稱為統一資源識別符號,使用它可以唯一標識網際網路上資源,通常用乙個緊湊的字串用來標示抽象或物理資源

uri 由 url 和 urn 組成

url(uniform resource locator) 是uri的子集,是我們俗稱的**,除了確定乙個資源,還提供一張定位該資源的主要訪問機制

維基百科:

uri可以分為url、urn或同時具備locators和names特性的乙個東西

urn作用就好像乙個人的名字,url就像乙個人的位址

urn確定了東西的身份,url提供了找到它的方式

urluri的一種, 但不是所有的uri都是url

uriurl最大差別是「訪問機制」,

urn是唯一標識的一部分,是身份資訊

http/1.1 常用方法

1. get

2. post

3. put

4. head

5. delete

6. options

7. trace

8. connect

get獲取資源

get 方法用來請求訪問已被uri識別的資源, 指定的資源經伺服器端解析後返回響應內容

get 方法也可以用來提交表單和其他資料但是只能傳輸少量資訊,而且引數會顯示在位址列上,不安全

post

post 方法與get功能類似, 一般用來傳輸實體的主體

post方法的主要目的不是獲取響應主體的內容

put

從客戶端向伺服器傳送的資料取代指定的文件的內容

put方法與post方法最大的不同是:put是冪等的,而post是不冪等的

因此,我們更多時候將put方法用作傳輸資源

post新增資料,put更新資料,由於put沒有驗證機制,不安全基本不使用

head

類似於get請求,只不過返回的響應中沒有具體的內容,用於獲取報頭

delete

請求伺服器刪除指定的資源,http1.1/ 和put一樣沒有驗證機制,不安全基本不使用

options

用來查詢針對請求uri指定的資源支援的方法

trace/connect

trace:

回顯伺服器收到的請求,主要用於測試或診斷,容易引起跨站追蹤

connect:

開啟乙個客戶端與所請求資源之間的雙向溝通的通道,建立隧道,用於訪問**伺服器

狀態碼:是用以表示網頁伺服器超文字傳輸協議響應狀態的3位數字**

分類:

1xx 表示訊息。這一型別的狀態碼,代表請求已被接受,需要繼續處理。這類響應是臨時響應,只包含狀態行和某些可選的響應頭資訊,並以空行結束

2xx 表示成功。這一型別的狀態碼,代表請求已成功被伺服器接收、理解、並接受

3xx 表示重定向。這類狀態碼代表需要客戶端採取進一步的操作才能完成請求。通常,這些狀態碼用來重定向,後續的請求位址(重定向目標)在本次響應的location域中指明

4xx 表示請求錯誤。這類的狀態嗎代表了客戶端看起來可能發生了錯誤,妨礙了伺服器的處理。除非響應的是乙個head請求,否則伺服器就應該返回乙個解釋當前錯誤狀況的實體,以及這是臨時的還是永久性的狀況。這些狀態嗎適用於任何請求方法。瀏覽器應當向使用者展示任何包含在此類錯誤響應中的實體內容

5xx 表示伺服器錯誤。這類狀態碼代表了伺服器在處理請求的過程中有錯誤或者異常狀態發生,也有可能是伺服器意識到當前的軟硬體資源無法完成對請求的處理。除非這是乙個head請求,否則伺服器應當包含乙個解釋當前錯誤狀態以及這個狀況是臨時的還是永久的解釋資訊實體。瀏覽器應當向使用者展示任何在當前響應中被包含的實體

常見狀態碼

200 ok 請求成功,請求所希望的響應頭和資料體隨響應返回

202 accepted 已接收,已接收請求,但未處理完成

206 partital content 部分內容,伺服器成功處理了部分get請求

301 moved permanently 永久移動,請求的資源已被永久的移動到新uri,返回資訊會包括新uri,瀏覽器會自動定向到新uri。今後任何新的請求都應使用新的uri代替

302 found 臨時移動,與301類似。但資源只是臨時被移動。客戶端應繼續使用原有uri

404 bad request客戶端請求的語法錯誤,伺服器無法理解

401 unauthorized請求要求使用者的身份認證

403 forbidden伺服器理解請求客戶端的請求,但是拒絕執行此請求

404 not found伺服器無法根據客戶端的請求找到資源(網頁)

500 internal server error伺服器內部錯誤,無法完成請求

502 bad gateway充當閘道器或**的伺服器,從遠端伺服器接收到了乙個無效的請求

HTTP協議報文格式

接下來我們看看http協議 hypertext transfer protocol 超文字傳輸協議 瀏覽器端 客戶端 向web伺服器端訪問頁面的過程和http協議報文的格式。基於http協議的客戶機訪問包括4個過程,分別是建立tcp套接字連線 傳送http請求報文 接收http應答報文和關閉tcp套...

HTTP協議報文格式

http協議 hypertext transfer protocol 超文字傳輸協議 瀏覽器端 客戶端 向web伺服器端訪問頁面的過程和http協議報文的格式。基於http協議的客戶機訪問包括4個過程,分別是建立tcp套接字連線 傳送http請求報文 接收http應答報文和關閉tcp套接字連線 1....

HTTP協議報文格式

http是基於客戶端 服務端 c s 的架構模型,http使用統一資源識別符號 uniform resource identifiers,uri 來傳輸資料和建立連線。一旦建立連線後,資料訊息就通過類似internet郵件所使用的格式 rfc5322 和多用途internet郵件擴充套件 mime ...