HTTP方法總結

2021-08-19 23:08:48 字數 3249 閱讀 6978

客戶端傳送的請求報文的第一行是請求行,裡面包含了請求的方法字段。

獲取報文的首部。和get方法是一樣的,但是他不反悔報文實體的主體部分。主要用於確認url的有效性以及資源更新的日期時間等。

一般用於傳輸實體主體,主要用來傳輸資料。

get主要用來獲取資源、post主要用來傳輸實體主體(資料)。

get和post的請求都能使用額外引數,但是get的引數是以查詢字串出現在url中,而post的引數儲存在實體主體中。

/**get方式**/

/**post方式**/

但是不能因為post引數儲存在實體主體中就認為它的安全性高,因為照樣可以通過一些抓包工具(如:fiddler)檢視。

因為url只支援ascii碼,因此get中的引數如果存在中文等字元就需要先進行編碼,在伺服器進行解碼。post請求支援標準字符集。

安全的http方法不會改變伺服器的狀態,也就是它只是可讀的。

get方法是安全的(因為大部分情況下只用來獲取資料),而post方法不是的,因為post的作用是傳送實體主體的內容(用於增減刪除修改資料庫等),也就是伺服器的狀態發生了改變。

安全的方法除了 get 之外還有:head、options(下面會說到)。

不安全的方法除了post之外還有:put、delete。

冪等性的http方法,同樣的請求被執行一次與連續執行多次的結果是一樣的,伺服器的狀態也是一樣的。通常情況先 get、head、put和delete、options等方法都是冪等性的,而post方法卻不是。所有的安全方法都是冪等性的。

get /pagex http/1.1是冪等的。連續呼叫多次,客戶端接收到的結果都是一樣的:

post /add_row http/1.1不是冪等的。如果呼叫多次,就會增加多行記錄:

delete /idx/delete http/1.1是冪等的,即便是不同請求之間接收到的狀態碼不一樣:

請求報文的 http 方法本身是可快取的,包括 get 和 head,但是 put 和 delete 不可快取,post 在多數情況下不可快取的。

補充:

響應報文的狀態碼是可快取的,包括:200, 203, 204, 206, 300, 301, 404, 405, 410, 414, and 501。

響應報文的 cache-control 首部字段可以指定是否進行快取。

xmlhttprequest 是乙個 api,它為客戶端提供了在客戶端和伺服器之間傳輸資料的功能。它提供了乙個通過 url 來獲取資料的簡單方式,並且不會使整個頁面重新整理。這使得網頁只更新一部分頁面而不會打擾到使用者。xmlhttprequest 在 ajax 中被大量使用。

在使用 xmlhttprequest 的post方法時,瀏覽器會先傳送 header 再傳送 data。但並不是所有瀏覽器會這麼做,例如火狐就不會。而get 方法 header 和 data 會一起傳送

一般用於上傳檔案,由於put方法本身不帶驗證機制,任何人都可以上傳檔案,因此存在安全問題,一般我們不使用此方法。

put和post的最大區別是乙個是冪等性的乙個不是冪等性的。(冪等性見上面get和pots區別分析部分)

對資源進行部分修改,雖然put也可以用於修改資源,但是它只能完全替代原始資源,而patch可以允許對資源進行部分修改。

刪除檔案,它與put的功能相反,一般用於刪除檔案,不帶驗證機制。不安全。

delete /file.html http/1.1
查詢指定url能夠支援的方法。

會返回allow:get、post、head、options這樣的內容。

要求使用隧道連線技術,要求在與**伺服器通訊時建立隧道,使用ssl(secure sockets layer,安全套接層)和tls(transport layer security,傳輸層安全)協議把通訊內容加密後經網路隧道傳輸。

路徑追蹤

伺服器會將通訊路徑返回給客戶端。傳送請求時,在max-forwards首部欄位中填入數值,每經過乙個伺服器就會減1,當數值為0時就會停止傳輸。通常不會使用trace,並且它容易受到 xst 攻擊(cross-site tracing,跨站追蹤)。

http方法總結

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

HTTP方法總結

注 本文資料來自 http權威指南 及網上資料,針對http1.1版本 根據http規範,get用於資訊獲取,而且應該是安全的和冪等的。1 所謂安全的意味著該操作用於獲取資訊而非修改資訊。換句話說,get 請求一般不應產生 就是說,它僅僅是獲取資源資訊,就像資料庫查詢一樣,不會修改,增加資料,不會影...

HTTP方法總結

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