1. 程式人生 > 其它 >http中的Get、Post、Put、Delete的區別

http中的Get、Post、Put、Delete的區別

http中的Get、Post、Put、Delete的區別

Http定義了與伺服器互動的不同方法,最基本的方法有4種,分別是POST,GET,PUT,DELETE;而PATCH是後來新增的方法。URL全稱是資源描述符,我們可以這樣認為:一個URL地址,它用於描述一個網路上的資源,而HTTP中的POST,GET,PUT,DELETE,PATCH就對應著對這個資源的建立,檢視,建立或更新,刪除,部分更新等五種操作。在介紹五種方法的含義之前,先來理解冪等的含義:

1、冪等(idempotent、idempotence)是一個數學與計算機學概念,常見於抽象代數中。
2、在程式設計中.一個冪等操作的特點是其任意多次執行所產生的影響均與一次執行的影響相同。
冪等函式,或冪等方法,是指可以使用相同引數重複執行,並能獲得相同結果的函式。這些函式不會影響系統狀態,也不用擔心重複執行會對系統造成改變。
例如,“setTrue()”函式就是一個冪等函式,無論多次執行,其結果都是一樣的.更復雜的操作冪等保證是利用唯一交易號(流水號)實現。
複製程式碼

下面將介紹這五種方法的大概含義:

1. 根據HTTP規範,GET用於資訊獲取,而且是安全的和冪等的

GET請求是安全的。所謂安全是指不管進行多少次操作,資源的狀態都不會改變。該請求就像資料庫的select操作一樣,只是用來查詢一下資料,不會修改、增加資料,不會影響資源的內容,即該請求不會產生副作用。無論進行多少次操作,結果都是一樣的。

2. 根據HTTP規範,POST一般用於建立資料,不是安全和冪等的

POST請求既不是安全的,也不是冪等的,比如常見的POST重複載入問題:當我們多次發出同樣的POST請求後,其結果是創建出了若干的資源。

3. PUT一般用於建立或完整更新資料,而且是安全和冪等的

PUT請求是向伺服器端傳送資料的,從而改變資訊,該請求就像資料庫的update操作一樣,用來修改完整的資料內容,但是不會增加資料的種類等,也就是說無論進行多少次PUT操作,其結果並沒有不同。

4. DELETE一般用於刪除資料,而且是安全和冪等的

DELETE請求顧名思義,就是用來刪除某一個資源的,該請求就像資料庫的delete操作,無論進行多少次DELETE操作,其結果並沒有不同。

5. PATCH一般用於更新部分資料,不是安全和冪等的

PATCH請求是對PUT請求的補充,一般用來對已知資源部分更新,是後來新出的標準,GitHub Api也開始使用。