HTTP方法總結

2021-07-09 12:18:51 字數 4198 閱讀 1496

注:本文資料來自《http權威指南》及網上資料,針對http1.1版本

根據http規範,get用於資訊獲取,而且應該是安全的和冪等的。

(1) 所謂安全的意味著該操作用於獲取資訊而非修改資訊。換句話說,get 請求一般不應產生***。就是說,它僅僅是獲取資源資訊,就像資料庫查詢一樣,不會修改,增加資料,不會影響資源的狀態。

* 注意:這裡安全的含義僅僅是指是非修改資訊。

(2) 冪等的意味著對同一url的多個請求應該返回同樣的結果。

請求報文示例:

響應報文示例:

head方法與get方法極其類似,唯一不同的是伺服器只會返回頭部不會返回實體。這就允許客戶端在未獲取實際資源的情況下,對資源的頭部進行檢查。

請求報文示例:

響應報文示例:

與get從伺服器讀取資源相反,put方法會向伺服器寫入資源。這個方法比較少見。html表單也不支援這個。本質上來講, put和post極為相似,都是向伺服器傳送資料,但它們之間有乙個重要區別,put通常指定了資源的存放位置,而post則沒有,post的資料存放位置由伺服器自己決定。有些發布系統允許使用者建立web頁面並用put直接將其放到web伺服器上。

put方法是讓伺服器用請求的主體來建立乙個由所請求的url命名的新文件。如果那個url已經存在,則會用這個主體來替代。

因為put允許使用者對內容進行修改,所以一般來說在執行put之前都會要求使用者進行登入。

請求報文示例:

響應報文:

向伺服器提交資料。通常用於表單操作。

post和get的區別

get是從伺服器上獲取資料,post是向伺服器傳送資料。

get是把引數資料佇列加到提交表單的action屬性所指的url中,值和表單內各個字段一一對應,在url中可以看到。post是通過http post機制,將表單內各個字段與其內容放置在html header內一起傳送到action屬性所指的url位址。使用者看不到這個過程。

get傳送的資料量較小,不能大於2kb。post傳送的資料量較大,一般被預設為不受限制。但理論上,iis4中最大量為80kb,iis5中為100kb。

get安全性非常低,post安全性較高。但是執行效率卻比post方法好。 

請求報文:

響應報文:

客戶端發起乙個請求時,這個請求可能要穿過防火牆、**、閘道器或其他一些應用程式。每個中間節點都可能會修改原始的http請求。trace方法允許客戶端了解請求最終到達伺服器時變成什麼樣。

trace方法的響應報文主體是伺服器最終收到的請求報文的頭部,實際上,trace請求報文不會有實體,而伺服器一般返回200。

trace方法主要用於診斷,判斷請求經過的路徑是不是預料中的,也可以用來檢視**和其他應用程式是如何處理使用者請求的。

但trace方法也有缺點,它假定中間應用程式對不同型別的請求(get、post等等)的處理是一樣的,但很多http應用程式會根據方法的不同做不同的處理,例如可能將post請求直接發給伺服器而將get請求發給另乙個http應用程式(例如快取)。

伺服器開啟trace方法可能遭受攻擊,詳見

trace method **漏洞,你關閉了嗎

請求報文:

經過**後的請求報文:

伺服器響應報文:

客戶端最終收到的響應報文:

options方法請求伺服器告知其支援的各種功能,或者對某些特殊資源支援哪些方法。

這為客戶端應用程式提供了一種手段,使其不用實際訪問就能判斷訪問各種資源的最優方式。

請求報文:

響應報文:(由於請求的是可為所有資源使用的選項,所以伺服器僅返回它所支援的可通用於所有資源的方法)

delete方法是請求伺服器刪除請求url所指定的資源,但是客戶端無法保證該資源一定會被執行,因為http規範允許伺服器在不通知客戶端的情況下撤銷請求。

請求報文:

響應報文:

http被設計成字段可擴充套件的,擴充套件方法指的就是沒有在http/1.1規範裡定義的方法。這些方法可能有些http應用程式不會識別。

常用的擴充套件方法

方法描述lock

允許使用者「鎖定」資源——例如可以在編輯某個資源的時候將其鎖定,以防別人同時對其進行修改

mkcol

允許使用者建立資源

copy

便於在伺服器上覆制資源

move

在伺服器上移動資源

http方法總結

1 get 請求指定的頁面資訊,並返回實體主體。2 head 類似於get請求,只不過返回的響應中沒有具體的內容,用於獲取報頭 3 post 向指定資源提交資料進行處理請求 例如提交表單或者上傳檔案 資料被包含在請求體中。post請求可能會導致新的資源的建立和 或已有資源的修改。4 put 從客戶端...

HTTP方法總結

名詞解釋 安全性 客戶端請求不會改變資源的狀態 冪等性 客戶端每次請求的效果都一樣 http方法 1.options 獲取資源支援的http方法列表。請求 header 響應 預設只有header,但也可以有body 安全 是 冪等 是 2.get 獲取資源的表述。請求 header 響應 head...

HTTP方法總結

客戶端傳送的請求報文的第一行是請求行,裡面包含了請求的方法字段。獲取報文的首部。和get方法是一樣的,但是他不反悔報文實體的主體部分。主要用於確認url的有效性以及資源更新的日期時間等。一般用於傳輸實體主體,主要用來傳輸資料。get主要用來獲取資源 post主要用來傳輸實體主體 資料 get和pos...