PUT vs POST: Jaký je rozdíl?

Obsah:

Anonim

Co je PUT?

Metoda PUT se používá k aktualizaci prostředku dostupného na serveru. Obvykle nahrazuje vše, co existuje na cílové adrese URL, něčím jiným. Můžete jej použít k vytvoření nového zdroje nebo k přepsání stávajícího. PUT požaduje, aby uzavřená entita musela být uložena pod zadaným požadovaným URI (Uniform Resource Identifier).

V tomto výukovém programu se naučíte:

  • Co je PUT?
  • Co je POST?
  • Příklad PUT
  • Příklad POST
  • Rozdíl mezi PUT a POST
  • Testování API s požadavky PUT
  • Testování API s požadavky POST
  • Výhody metody PUT
  • Výhody metody POST

Co je POST?

POST je metoda podporovaná protokoly HTTP a

znázorňuje, že webový server přijímá data obsažená v těle zprávy, která je požadována. POST se často používá v síti WWW k odesílání dat generovaných uživateli na webový server nebo při nahrávání souboru.

KLÍČOVÉ ROZDÍLY:

  • Metoda PUT se volá, když musíte upravit jeden prostředek, zatímco metoda POST se volá, když musíte přidat podřízený prostředek.
  • Odpověď metody PUT lze uložit do mezipaměti, ale nelze uložit odpovědi metody PUT do mezipaměti.
  • Můžete použít UPDATE dotaz v PUT, zatímco můžete použít vytvořit dotaz v POST.
  • V metodě PUT se klient rozhodne, který prostředek URI by měl mít, a v metodě POST server rozhodne, který prostředek URI by měl mít.
  • PUT funguje jako konkrétní, zatímco POST funguje jako abstraktní.
  • Pokud pošlete stejný požadavek PUT vícekrát, výsledek zůstane stejný, ale pokud pošlete stejný požadavek POST vícekrát, obdržíte různé výsledky.
  • Metoda PUT je idempotentní, zatímco metoda POST není idempotentní.

Příklad PUT

Zde je příklad webového serveru metody PUT:

HTTP PUT http://www.google.com/users/234

HTTP PUT http://www.google.com/users/234/accounts/567

Žádost

PUT /new.html HTTP/1.1Host: example.comContent-type: text/htmlContent-length: 20

New File

Odpovědi

Pokud je cílový prostředek s aktuální reprezentací a je změněn stavem uzavřené reprezentace, měl by server odeslat dvě odpovědi. První kód odpovědi je 200 (OK) a druhý kód odpovědi je 204 (žádný obsah).

Pokud cílový prostředek nemá žádné zastoupení, měl by server informovat uživatele zasláním odpovědi 201 (vytvořeno).

 HTTP/1.1 201 CreatedContent-Location: /new.html

Příklad POST

Zde je příklad metody POST:

HTTP POST http://www.google.com/users

HTTP POST http://www.google.com/users/234/accounts

Formulář využívající výchozí typ obsahu application / x-www-form-urlencoded:

POST /test HTTP/1.1Host: abc.exampleContent-Type: application/x-www-form-urlencodedContent-Length: 40field1=value1&field2=value2

Rozdíl mezi PUT a POST

Zde je důležitý rozdíl mezi metodou PUT a POST:

DÁT POŠTA
Tato metoda je idempotentní. Tato metoda není idempotentní.
Metoda PUT je volání, když musíte upravit jeden prostředek, který je již součástí kolekce prostředků. Metoda POST je volání, když musíte přidat podřízený prostředek do kolekce prostředků.
RFC-2616 popisuje, že metoda PUT odesílá požadavek na uzavřenou entitu uloženou v zadaném identifikátoru URI požadavku. Tato metoda vyžaduje, aby server přijal entitu, která je obsažena v požadavku.
Syntaxe metody PUT je PUT / questions / {question-id} Syntaxe metody POST je POST / otázky
Odpověď na metodu PUT lze uložit do mezipaměti. Odpovědi metody PUT nelze ukládat do mezipaměti.
PUT / vi / džus / objednávky / 1234 označuje, že aktualizujete zdroj, který je označen číslem „1234“. POST / vi / džus / objednávky označuje, že vytváříte nový zdroj a vracíte identifikátor k popisu zdroje.
Pokud pošlete stejný požadavek vícekrát, výsledek zůstane stejný. Pokud pošlete stejný požadavek POST více než jednou, obdržíte různé výsledky.
PUT funguje jako konkrétní. POST práce jako abstrakt.
Používáme UPDATE dotaz v PUT. Používáme vytvořit dotaz v POST.
V metodě PUT se klient rozhodne, který prostředek URI by měl mít. V metodě POST server rozhoduje, který prostředek URI by měl mít.

Testování API s požadavky PUT

Tady jsou kroky k testování API s požadavky PUT:

Testování API s požadavky PUT

Krok 1) Aktualizujte zdroje pomocí požadavku PUT.

Krok 2) Použijte metodu GET pro zdroj. Pokud bude požadavek PUT úspěšný, obdržíte nová data. Tato metoda selže, pokud jsou zadaná data v požadavku neplatná. Proto nebude nic aktualizovat.

Testování API s požadavky POST

Tady jsou kroky k testování API s požadavky POST:

Testování API s požadavky POST

Krok 1) Vytvořte prostředek pomocí požadavku POST a ujistěte se, že vrací stavový kód 200.

Krok 2) Vytvořte požadavek GET pro tento zdroj a uložte data ve správném formátu.

Krok 3) Musíte přidat testy, které zajistí, že požadavky POST selžou s nesprávnými daty.

Výhody metody PUT

Zde jsou výhody / výhody použití metody PUT:

  • Pomůže vám uložit dodanou entitu pod dodaným URI
  • Pokud zadaná entita již existuje, můžete provést operaci aktualizace nebo vytvořit pomocí tohoto identifikátoru URI.
  • Zdroj můžete vytvořit tolikrát, kolikrát chcete.
  • Vytvoření zdroje pomocí metody PUT je velmi snadné.
  • Nemusíte kontrolovat, zda uživatel klikl na tlačítko Odeslat vícekrát nebo ne.
  • Může identifikovat entitu přiloženou k žádosti.

Výhody metody POST

Zde jsou výhody / výhody použití metody POST:

  • Tato metoda vám pomůže určit URI prostředku.
  • Zadání nového záhlaví umístění prostředku je velmi snadné pomocí záhlaví umístění.
  • Můžete odeslat žádost o přijetí entity jako nového podřízeného zdroje, který je identifikován identifikátorem URI.
  • Uživatelem generovaná data můžete odeslat na webový server.
  • Je velmi užitečné, když neznáte URL, abyste si uchovali jakýkoli zdroj.
  • POST použijte, když potřebujete server, který řídí generování URL vašich prostředků.
  • POST je bezpečná metoda, protože její požadavky nezůstávají v historii prohlížeče.
  • Pomocí postu můžete snadno přenášet velké množství dat.
  • Data můžete uchovat v soukromí.
  • Tuto metodu lze použít k odesílání binárních i ASCII dat.