免费可以看的无遮挡av无码|国产在线拍揄自揄视频网站|在线无码精品视频播放在|欧美亚洲国产成人精品,国产成人久久77777精品,亚洲欧美视频在线观看,色偷偷色噜噜狠狠网站久久

千鋒教育-做有情懷、有良心、有品質的職業(yè)教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 高級HTTP方法:放置請求和修補程序請求之間的區(qū)別

高級HTTP方法:放置請求和修補程序請求之間的區(qū)別

來源:千鋒教育
發(fā)布人:syq
時間: 2022-09-22 14:16:02 1663827362

  深入了解 PUT 和補丁請求。開發(fā)人員或程序員應該知道和請求之間的區(qū)別。似乎兩者都在修改資源中的數(shù)據(jù)。僅此而已嗎?或者,如果在面試中問過你這個問題,你現(xiàn)在會怎么回答?PUTPATCH今天我們就來聊聊這個話題。

8

  1. 安全和冪等 HTTP 方法

  安全方法

  在 REST API 的上下文中,安全方法是不修改資源的 HTTP 方法。例如,在 上使用 GET 或 HEAD 永遠不應更改資源。安全方法是可以緩存和預取而對資源沒有任何影響的方法。Request URI

  在實踐中,通常不可能以不改變?nèi)魏钨Y源的方式實現(xiàn)安全方法。例如,GET 請求可能會創(chuàng)建日志或更新統(tǒng)計信息值,或者在服務器上觸發(fā)緩存刷新。

  無法確保服務器不會因執(zhí)行 GET 請求而產(chǎn)生副作用。這里的重要區(qū)別在于API消費者沒有請求副作用,因此消費者不能對它們負責。

  請求 URI 是應用請求的資源的統(tǒng)一資源標識符。

  冪等方法

  如果一個或多個 HTTP 方法的調(diào)用對資源具有相同的預期效果,則將此方法視為 。如果該方法只被調(diào)用了一次或三次,這應該無關緊要。資源上的結果應始終相同。idempotent

  Idempotency本質上意味著成功執(zhí)行的請求的結果與它被執(zhí)行的次數(shù)無關。

  注意:當您發(fā)送多個 DELETE 請求時,第一個請求將刪除資源,響應為 200(正常)或 204(無內(nèi)容)。下一個請求返回 404(未找到)。響應與第一個請求不同,但由于原始資源已被刪除,因此服務器端的任何資源的狀態(tài)都沒有變化。因此,刪除是冪等的。

10

  2. 看跌期權請求

  該方法完全修改現(xiàn)有資源或創(chuàng)建新資源。它是如何做到的?PUT

  API 使用者發(fā)送資源 ID

  如果資源存在,則整個資源將替換為整個實體

  如果資源不存在,則會創(chuàng)建一個新資源

  例如,如果要更改數(shù)據(jù)庫中用戶的名字,則需要在發(fā)出請求時發(fā)送整個實體。PUT

11

  要發(fā)出請求,您需要發(fā)送所有參數(shù),而不僅僅是名稱;此示例的第一個和姓氏。PUT

  如果成功更新,則成功的請求將返回 of 或 of,如果預期資源尚無當前表示形式,并且請求創(chuàng)建一個表示形式,則源服務器必須向 API 使用者發(fā)送 of 響應。PUTHTTP Status Code200 (OK)HTTP Status Code204 (No Content)PUTHTTP Status Code201 (Created)

  3. 為什么 PUT 請求是冪等的

  此處,請求包含此用戶的所有參數(shù)。PUT

  使用請求時,假定您正在發(fā)送完整的實體,并且完整的實體將替換 處的任何現(xiàn)有資源。 請求通過替換整個資源來處理它。PUT Request URIPUT

  由于請求包括整個實體,因此如果您重復發(fā)出相同的請求,它應該始終具有相同的結果(您發(fā)送的數(shù)據(jù)現(xiàn)在是資源的全部數(shù)據(jù))。PUT

  如果您發(fā)送請求5次,則第一個請求將更新資源;其他 4 個請求將一次又一次地覆蓋相同的資源狀態(tài) — 實際上不會更改任何內(nèi)容。PUT

  因此,該請求是冪等的。PUT

  4. 補丁請求

  該方法將部分更新應用于現(xiàn)有資源。這意味著您只需要發(fā)送要更新的數(shù)據(jù),而不會影響或更改任何其他內(nèi)容。因此,如果要更新數(shù)據(jù)庫中的名字,則只需發(fā)送第一個參數(shù)。對于上面的示例,此參數(shù)是第一個名稱。PATCH

12

  API 使用者發(fā)送資源 ID

  如果資源存在,則會部分更新現(xiàn)有資源(并非所有實體都是必需的)。

  如果資源不存在,則返回 ofHTTP Status Code404 (Not Found)

  成功的請求如果成功更新,則返回 of 或 of。PATCHHTTP Status Code200 (OK)HTTP Status Code204 (No Content)

  5. 為什么 PATCH 請求是非冪等的

  該方法更新資源的一小部分。例如,如果使用請求更新資源,并且未設置所有字段,則可能會丟失留空字段中的數(shù)據(jù)。 request 修復了此問題,因為它僅更新請求正文中聲明的特定部分。PATCH PUT PATCH

  PATCH請求并不總是保證相同的效果,所以它不是。換句話說,它可能會影響 的不同部分的更改。idempotent Request URI

13

  在上面的示例中,只需更改用戶資源的名字字段。然后向同一資源發(fā)出請求并修改同一資源的不同字段。Request URI

14

  在前兩個示例中,在第一個請求中修改了第一個姓名字段,在第二個請求中修改了姓氏字段。結果,向同一資源發(fā)出了兩個請求,并在每個請求上獲得了不同的結果。

  對方法的此更改會根據(jù)要更新的資源部分提供不同的結果。因此,不是冪等的。PATCH PATCH

  高級說明: 可以使用 和 HTTP 標頭使請求具有冪等性。PATCH ETagIf-Modified-Since

  6. 何時使用 PUT 和補丁請求

  當 API 使用者需要完全替換現(xiàn)有資源時,使用者可以使用該方法。當使用者想要進行部分更新時,他們可以使用該方法。PUT PATCH

  例如,在更新資源的單個字段時,發(fā)送整個實體表示形式可能會很麻煩,并且會占用大量不必要的帶寬。在這種情況下,該方法的使用更有意義。PATCH

  7. PUT 和補丁請求之間的差異

  和 請求之間的主要區(qū)別在于服務器處理發(fā)送的實體以更新由 標識的資源。發(fā)出請求時,發(fā)送的實體被視為保存在原始服務器上的資源的修改版本,并且 API 使用者請求對其進行更改。但是,隨請求一起發(fā)送的實體具有一組說明,這些說明描述了如何部分修改存儲在原始服務器上的資源以創(chuàng)建新版本。PUT PATCH Request URI PUT PATCH

  這里要考慮的另一個重要方面是冪等性。該方法是冪等的,該方法可以是冪等的,但不是必需的。您可以根據(jù)實現(xiàn)位置選擇一個或另一個。PUT PATCH

15

  結論

  希總結一下本文,這些方法之間的主要區(qū)別在于冪等的,以及它們?nèi)绾翁幚韥碜?API 使用者的請求。在面試中可能會問到你這個問題。

16

  所有 HTTP 方法的范圍和語義

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經(jīng)許可不得擅自轉載。
10年以上業(yè)內(nèi)強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內(nèi)將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT