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: 20New 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:
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:
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.