PUT vs POST: Care este diferența?

Cuprins:

Anonim

Ce este PUT?

Metoda PUT este utilizată pentru actualizarea resurselor disponibile pe server. De obicei, înlocuiește orice există la adresa URL țintă cu altceva. Puteți să o utilizați pentru a crea o resursă nouă sau pentru a suprascrie una existentă. PUT solicită ca entitatea închisă să fie stocată sub URI (Uniform Resource Identifier) ​​furnizat.

În acest tutorial, veți învăța:

  • Ce este PUT?
  • Ce este POST?
  • Exemplu de PUT
  • Exemplu de POST
  • Diferența dintre PUT și POST
  • Testarea unui API cu solicitări PUT
  • Testarea unui API cu solicitări POST
  • Avantajele metodei PUT
  • Avantajele metodei POST

Ce este POST?

POST este o metodă care este acceptată de HTTP și

descrie că un server web acceptă datele incluse în corpul mesajului, care sunt solicitate. POST este adesea folosit de World Wide Web pentru a trimite datele generate de utilizator către serverul web sau când încărcați fișierul.

DIFERENȚE CHEIE:

  • Metoda PUT este apelată atunci când trebuie să modificați o singură resursă, în timp ce metoda POST este apelată atunci când trebuie să adăugați o resursă copil.
  • Răspunsul metodei PUT poate fi memorat în cache, dar nu puteți ascunde răspunsurile metodei PUT.
  • Puteți utiliza interogarea UPDATE în PUT, în timp ce puteți utiliza crearea interogării în POST.
  • În metoda PUT, clientul decide ce resursă URI trebuie să aibă, iar în metoda POST, serverul decide ce resursă URI trebuie să aibă.
  • PUT funcționează la fel de specific, în timp ce POST funcționează ca abstract.
  • Dacă trimiteți aceeași cerere PUT de mai multe ori, rezultatul va rămâne același, dar dacă trimiteți aceeași solicitare POST de mai multe ori, veți primi rezultate diferite.
  • Metoda PUT este idempotentă, în timp ce metoda POST nu este idempotentă.

Exemplu de PUT

Iată exemplul serverului web al unei metode PUT:

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

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

Cerere

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

New File

Răspunsuri

Dacă resursa țintă are reprezentare curentă și este modificată cu starea reprezentării închise, atunci serverul ar trebui să trimită două răspunsuri. Primul cod de răspuns este 200 (OK), iar al doilea cod de răspuns este 204 (Fără conținut).

Dacă resursa țintă nu are nicio reprezentare, atunci serverul ar trebui să informeze utilizatorul prin trimiterea unui răspuns de cod 201 (Creat).

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

Exemplu de POST

Iată un exemplu de metodă POST:

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

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

Un formular care utilizează tipul de conținut implicit aplicație / x-www-form-urlencoded:

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

Diferența dintre PUT și POST

Iată diferența importantă dintre metoda PUT și POST:

A PUNE POST
Această metodă este idempotentă. Această metodă nu este idempotentă.
Metoda PUT este apelată atunci când trebuie să modificați o singură resursă, care face deja parte din colectarea resurselor. Metoda POST este apelată atunci când trebuie să adăugați o resursă copil sub colectarea resurselor.
RFC-2616 descrie că metoda PUT trimite o cerere pentru o entitate închisă stocată în URI-ul de solicitare furnizat. Această metodă solicită serverului să accepte entitatea care este inclusă în cerere.
Sintaxa metodei PUT este PUT / questions / {question-id} Sintaxa metodei POST este POST / întrebări
Răspunsul la metoda PUT poate fi stocat în cache. Nu puteți cache răspunsurile metodei PUT.
PUT / vi / juice / orders / 1234 indică faptul că actualizați o resursă care este identificată prin „1234”. POST / vi / juice / orders indică faptul că creați o resursă nouă și returnați un identificator pentru a descrie resursa.
Dacă trimiteți aceeași solicitare de mai multe ori, rezultatul va rămâne același. Dacă trimiteți aceeași solicitare POST de mai multe ori, veți primi rezultate diferite.
PUT funcționează la fel de specific. POST lucrează ca abstract.
Folosim interogarea UPDATE în PUT. Folosim interogare create în POST.
În metoda PUT, clientul decide ce resursă URI ar trebui să aibă. În metoda POST, serverul decide ce resursă URI ar trebui să aibă.

Testarea unui API cu solicitări PUT

Iată pașii pentru a testa API cu solicitări PUT:

Testarea unui API cu solicitări PUT

Pasul 1) Actualizați resursele cu cererea PUT.

Pasul 2) Utilizați metoda GET pentru resurse. Dacă PUT solicită succes, veți primi date noi. Această metodă va eșua dacă datele furnizate în cerere nu sunt valide. Prin urmare, nu va actualiza nimic.

Testarea unui API cu solicitări POST

Iată pașii pentru a testa API cu solicitări POST:

Testarea unui API cu solicitări POST

Pasul 1) Creați o resursă utilizând cererea POST și asigurați-vă că returnează 200 de cod de stare.

Pasul 2) Faceți o cerere GET pentru resursa respectivă și salvați datele în formatul corect.

Pasul 3) Trebuie să adăugați teste care să asigure că solicitările POST eșuează cu date incorecte.

Avantajele metodei PUT

Iată avantajele / avantajele utilizării metodei PUT:

  • Vă ajută să stocați entitatea furnizată sub URI-ul furnizat
  • Dacă entitatea furnizată există deja, atunci puteți efectua operația de actualizare sau puteți crea cu acel URI.
  • Puteți crea o resursă de câte ori doriți.
  • Crearea unei resurse cu metoda PUT este foarte ușoară.
  • Nu trebuie să verificați dacă utilizatorul a făcut clic pe butonul de trimitere de mai multe ori sau nu.
  • Poate identifica entitatea inclusă în cerere.

Avantajele metodei POST

Iată avantajele / avantajele utilizării metodei POST:

  • Această metodă vă ajută să determinați URI-ul resursei.
  • Specificarea unui nou antet de locație a resurselor este foarte ușor folosind antetul de locație.
  • Puteți trimite o cerere de acceptare a entității ca o nouă subordonată a resursei, care este identificată de URI.
  • Puteți trimite date generate de utilizator către serverul web.
  • Este foarte util atunci când nu cunoașteți adresa URL pentru a păstra orice resursă.
  • Utilizați POST atunci când aveți nevoie de server, care controlează generarea URL a resurselor dvs.
  • POST este o metodă sigură, deoarece solicitările sale nu rămân în istoricul browserului.
  • Puteți transmite fără efort o cantitate mare de date folosind post.
  • Puteți păstra datele private.
  • Această metodă poate fi utilizată pentru a trimite date binare, precum și ASCII.