Różnica między żądaniami PUT i PATCH

Jaka jest główna różnica między PUT i PATCH prośby, a kiedy powinniśmy używać jednego nad drugim?

PUT i PATCH to czasowniki HTTP i oba odnoszą się do aktualizacji zasobu.



Główna różnica między żądaniami PUT i PATCH

Główna różnica między żądaniami PUT i PATCH polega na sposobie, w jaki serwer przetwarza zamkniętą jednostkę w celu zmodyfikowania zasobu identyfikowanego przez identyfikator Request-URI.


W a PUT żądanie, dołączona jednostka jest uważana za zmodyfikowaną wersję zasobu przechowywanego na serwerze pochodzenia, a klient żąda zastąpienia przechowywanej wersji.

Jednak w przypadku PATCH zamknięta jednostka zawiera zestaw instrukcji opisujących, jak należy zmodyfikować zasób znajdujący się obecnie na serwerze pochodzenia w celu utworzenia nowej wersji.


Inną różnicą jest to, że gdy chcesz zaktualizować zasób za pomocą PUT request, musisz wysłać pełny ładunek jako żądanie, podczas gdy z PATCH wysyłasz tylko parametry, które chcesz zaktualizować.

Związane z:

Załóżmy, że mamy zasób zawierający imię i nazwisko osoby.

Jeśli chcemy zmienić imię, wysyłamy PUT prośba o aktualizację


{ 'first': 'Michael', 'last': 'Angelo' }

Tutaj, chociaż zmieniamy tylko imię, za pomocą PUT żądanie, musimy wysłać oba parametry jako pierwszy i ostatni. Innymi słowy, konieczne jest ponowne przesłanie wszystkich wartości, pełnego ładunku.

Kiedy wysyłamy PATCH żądamy jednak przesłania tylko tych danych, które chcemy zaktualizować. Innymi słowy, do aktualizacji wysyłamy tylko imię, bez konieczności wysyłania nazwiska.

Z tego powodu PATCH żądanie wymaga mniejszej przepustowości.