http的幾種請求方法


HTTP1.0定義了三種請求方法: GET、 POST 、HEAD方法


HTTP1.1新增了五種請求方法:OPTIONS、PUT、DELETE、TRACE、CONNECT 方法

 

PATCH其實就是對新增五種請求方式中的put的補充。用來對已知資源進行局部更新

1、GET請求會向數據庫發索取數據的請求,從而來獲取信息,該請求就像數據庫的select操作一樣,只是用來查詢一下數據,不會修改、增加數據,不會影響資源的內容,即該請求不會產生副作用。無論進行多少次操作,結果都是一樣的,冪等

2、PUT請求是向服務器端發送數據的,從而改變信息,該請求就像數據庫的update操作一樣,用來修改數據的內容,但是不會增加數據的種類等,也就是說無論進行多少次PUT操作,其結果並沒有不同,冪等

3、POST請求同PUT請求類似,都是向服務器端發送數據的,但是該請求會改變數據的種類等資源,就像數據庫的insert操作一樣,會創建新的內容。幾乎目前所有的提交操作都是用POST請求的,非冪等

PUT和POST兩者有什么區別呢? POST主要作用在一個集合資源之上的(url),而PUT主要作用在一個具體資源之上的(url/xxx),通俗一下講就是,如URL可以在客戶端確定,那么可使用PUT,否則用POST


4、DELETE請求顧名思義,就是用來刪除某一個資源的,該請求就像數據庫的delete操作, 冪等

5、HEAD和GET本質是一樣的,區別在於HEAD不含有呈現數據,而僅僅是HTTP頭信息。有的人可能覺得這個方法沒什么用,其實不是這樣的。想象一個業務情景:欲判斷某個資源是否存在,我們通常使用GET,但這里用HEAD則意義更加明確

6、PATCH:put請求專注於update操作,但是與之相關的是還有一個patch請求,兩者雖然都專注於update操作,但是前者是全局而言,后者是局限於某一條件或者范圍而言,簡單的說就是兩者的粒度是不同的。PATCH 與 PUT 屬性上的一個重要區別還在於:PUT 是冪等的,而 PATCH 不是冪等的


7、OPTIONS:它用於獲取當前URL所支持的方法。若請求成功,則它會在HTTP頭中包含一個名為“Allow”的頭,值是所支持的方法,如“GET, POST”

8、TRACE:回顯服務器收到的請求,主要用於測試或診斷。一般禁用,防止受到攻擊

9、CONNECT:是HTTP/1.1協議預留的,能夠將連接改為管道方式的代理服務器。通常用於加密服務器的鏈接與非加密的HTTP代理服務器的通信

我們可理解為以下:



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM