HTTP協議方法及狀態碼(HTTP協議入門必備)

2021-09-11 05:41:39 字數 2764 閱讀 4211

目錄

基本概念

使用telnet演示head方法

使用telnet演示trace方法

使用telnet演示options方法

http響應中的狀態碼

304響應演示

使用telnet演示304響應

客戶端:

請求行(請求方法 路徑 協議)

空行主體資訊(可選)(傳送內容)

如:

post /index.jsp http/1.1

host: localhost

content-length: 5

age=3

響應行(協議 狀態碼 狀態文字)

響應頭資訊(格式為 key:value)

空行主體資訊(也可能沒有)

如:

http/1.1 200 ok

content-type: text/html

content-length: 5

hello

請求方法有:get post head put trace delete options

如下命令:

響應截圖如下:

如果檢視沒有的檔案,如下下**:

響應截圖如下:

head的效果為,只給出響應頭,不給出內容。

如下命令:

響應頭如下:

這裡響應是是405,說明這個方法不能用,伺服器沒有開啟這個方法

options:是返回伺服器可用的請求方法。

響應如下:

這裡可以知道,本地伺服器執行的方法有get、head、post、options、trace

狀態碼定義

說明1xx

資訊接收到請求,繼續處理

2xx成功

操作成功收到,理解和接收

3xx重定義

為了完成請求,必須採用進一步措施

4xx客戶端錯誤

請求的語法有錯誤或不能完全被滿足

5xx服務端錯誤

伺服器無法完成明顯有效的效果

200:伺服器成功放好網頁

301/2:永久/臨時重定向

304:not modified未修改

失敗的狀態碼:

404:請求的網頁不存在

503:伺服器暫時不可用

500:伺服器內部錯誤

304是指取快取:

如構造如下的介面

**如下:

在此重新整理後就會出現304的響應:

檢視下響應資訊:

客戶端,多了這幾個if的變化,因為客戶端快取裡有這個,才會傳送的。他只是不確定這個是不是變過!

這裡的response headers裡面用etag來判斷是否要更新,會配合last-modified,伺服器就根據他發過來的etag,last-modified,傳送回報資訊!

構造如下的http協議

執行截圖如下:

增加如下資訊,即可響應304

http構造如下:

if-modified-since: fri, 22 feb 2019 03:08:38 gmt

if-none-match: "18-58272e845856e"

執行截圖如下:

HTTP協議 狀態碼

2xx 成功 200 請求成功,請求的資料隨之返回。3xx 重定向 301 永久性重定向。302 暫時行重定向。304 未修改 305 使用 307 臨時重定向 4xx 請求錯誤 401 未授權 當前請求需要使用者驗證。403 禁止 伺服器拒絕請求。404 未找到 請求失敗,請求的資料在伺服器上未發...

http協議狀態碼

http狀態返回 1xx 臨時響應 表示臨時響應並需要請求者繼續執行操作的狀態 http狀態返回 說明 100 繼續 請求者應當繼續提出請求。伺服器返回此 表示已收到請求的第一部分,正在等待其餘部分。101 切換協議 請求者已要求伺服器切換協議,伺服器已確認並準備切換。http狀態返回 2xx 成功...

http協議狀態碼

遇到最多的狀態碼就是404和500,什麼意思大家都很清楚,那http狀態碼還有什麼值呢?內容如下 6.1.1狀態碼與原因短語 status code and reason phrase status code元素是乙個試圖理解和滿足請求的三位數字整數碼,這些碼的完整定義在第十章。原因短語 reaso...