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也開始使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章