PUT vs POST: Aký je rozdiel?

Obsah:

Anonim

Čo je PUT?

Metóda PUT sa používa na aktualizáciu prostriedku dostupného na serveri. Zvyčajne nahrádza čokoľvek, čo existuje na cieľovej adrese URL, niečím iným. Môžete ho použiť na vytvorenie nového zdroja alebo na prepísanie existujúceho. PUT požaduje, aby bola uzavretá entita uložená pod dodaným požadovaným URI (Uniform Resource Identifier).

V tomto návode sa dozviete:

  • Čo je PUT?
  • Čo je POST?
  • Príklad PUT
  • Príklad POST
  • Rozdiel medzi PUT a POST
  • Testovanie API s požiadavkami PUT
  • Testovanie rozhrania API s požiadavkami POST
  • Výhody metódy PUT
  • Výhody metódy POST

Čo je POST?

POST je metóda, ktorá je podporovaná protokolmi HTTP a

zobrazuje, že webový server prijíma údaje obsiahnuté v tele správy, ktoré sú požadované. POST sa často používa v sieti WWW na odosielanie údajov generovaných používateľom na webový server alebo pri nahrávaní súboru.

KĽÚČOVÉ ROZDIELY:

  • Metóda PUT sa volá, keď musíte upraviť jeden zdroj, zatiaľ čo metóda POST sa volá, keď musíte pridať podradený prostriedok.
  • Odpoveď metódy PUT je možné uložiť do pamäte cache, ale nemôžete uložiť odpovede metódy PUT do medzipamäte.
  • Môžete použiť UPDATE dotaz v PUT, zatiaľ čo môžete vytvoriť dotaz v POST.
  • V metóde PUT sa klient rozhodne, ktorý prostriedok URI by mal mať, a v metóde POST server, ktorý zdroj URI by mal mať.
  • PUT funguje ako špecifický, zatiaľ čo POST ako abstraktný.
  • Ak pošlete viackrát tú istú požiadavku PUT, výsledok zostane rovnaký, ale ak pošlete viackrát tú istú požiadavku POST, dostanete odlišné výsledky.
  • Metóda PUT je idempotentná, zatiaľ čo metóda POST nie je idempotentná.

Príklad PUT

Tu je príklad webového servera metódy PUT:

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

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

Žiadosť

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

New File

Odpovede

Ak je cieľový prostriedok s aktuálnym zastúpením a je zmenený so stavom uzavretého znázornenia, potom by mal server odoslať dve odpovede. Prvý kód odpovede je 200 (OK) a druhý kód odpovede je 204 (Žiadny obsah).

Ak cieľový zdroj nemá žiadne zastúpenie, potom by server mal informovať používateľa zaslaním odpovede na kód 201 (vytvorené).

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

Príklad POST

Tu je príklad metódy POST:

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

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

Formulár využívajúci predvolený 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

Rozdiel medzi PUT a POST

Tu je dôležitý rozdiel medzi metódou PUT a POST:

PUT POST
Táto metóda je idempotentná. Táto metóda nie je idempotentná.
Metóda PUT je volanie, keď musíte upraviť jeden zdroj, ktorý je už súčasťou zbierky prostriedkov. Metóda POST je volanie, keď musíte pridať podradený prostriedok do zbierky prostriedkov.
RFC-2616 zobrazuje, že metóda PUT odošle požiadavku na uzavretú entitu uloženú v dodanom identifikátore URI požiadavky. Táto metóda vyžaduje, aby server prijal entitu, ktorá je zahrnutá v žiadosti.
Syntax metódy PUT je PUT / questions / {question-id} Syntax metódy POST je POST / otázky
Odpoveď metódy PUT je možné uložiť do medzipamäte. Odpovede metódy PUT nemôžete uložiť do medzipamäte.
PUT / vi / džús / objednávky / 1234 označuje, že aktualizujete zdroj, ktorý je označený číslom „1234“. POST / vi / džús / objednávky označuje, že vytvárate nový zdroj a vraciate identifikátor, ktorý ho popisuje.
Ak pošlete tú istú žiadosť viackrát, výsledok zostane rovnaký. Ak pošlete tú istú požiadavku POST viackrát, dostanete odlišné výsledky.
PUT funguje ako špecifický. POST práce ako abstraktné.
Používame UPDATE dotaz v PUT. Používame create query v POST.
Pri metóde PUT sa klient rozhodne, ktorý zdroj URI by mal mať. V metóde POST server rozhoduje, ktorý prostriedok URI by mal mať.

Testovanie API s požiadavkami PUT

Tu sú kroky na testovanie rozhrania API s požiadavkami PUT:

Testovanie API s požiadavkami PUT

Krok 1) Aktualizujte zdroje pomocou požiadavky PUT.

Krok 2) Použite metódu GET pre zdroj. Ak bude žiadosť PUT úspešná, dostanete nové údaje. Táto metóda zlyhá, ak sú zadané údaje v žiadosti neplatné. Preto nebude nič aktualizovať.

Testovanie rozhrania API s požiadavkami POST

Tu sú kroky na testovanie API s požiadavkami POST:

Testovanie rozhrania API s požiadavkami POST

Krok 1) Vytvorte zdroj pomocou požiadavky POST a uistite sa, že vracia 200 stavových kódov.

Krok 2) Zadajte požiadavku GET pre tento zdroj a uložte údaje v správnom formáte.

Krok 3) Musíte pridať testy, ktoré zabezpečia, že požiadavky POST zlyhajú s nesprávnymi údajmi.

Výhody metódy PUT

Tu sú výhody a výhody použitia metódy PUT:

  • Pomôže vám to uložiť zadanú entitu pod dodaný URI
  • Ak zadaná entita už existuje, môžete vykonať operáciu aktualizácie alebo vytvoriť pomocou tohto identifikátora URI.
  • Zdroj môžete vytvoriť koľkokrát chcete.
  • Vytvorenie zdroja pomocou metódy PUT je veľmi jednoduché.
  • Nemusíte kontrolovať, či používateľ klikol na tlačidlo odoslať viackrát alebo nie.
  • Môže identifikovať entitu priloženú k žiadosti.

Výhody metódy POST

Tu sú výhody a výhody použitia metódy POST:

  • Táto metóda vám pomôže určiť URI prostriedku.
  • Zadanie novej hlavičky umiestnenia zdroja je veľmi jednoduché pomocou hlavičky umiestnenia.
  • Môžete poslať žiadosť o prijatie entity ako nového podriadeného zdroja, ktorý je identifikovaný URI.
  • Môžete generovať údaje generované používateľom na webový server.
  • Je veľmi užitočné, keď nepoznáte URL, aby ste si nechali akýkoľvek zdroj.
  • POST použite, keď potrebujete server, ktorý riadi generovanie URL vašich zdrojov.
  • POST je bezpečná metóda, pretože jej požiadavky nezostávajú v histórii prehľadávača.
  • Môžete ľahko prenášať veľké množstvo údajov pomocou pošty.
  • Údaje môžete uchovať v súkromí.
  • Túto metódu je možné použiť na zasielanie binárnych aj ASCII údajov.