PUT vs POST: Koja je razlika?

Sadržaj:

Anonim

Što je PUT?

Metoda PUT koristi se za ažuriranje resursa dostupnih na poslužitelju. Tipično zamjenjuje sve što postoji na ciljanom URL-u nečim drugim. Pomoću njega možete napraviti novi resurs ili prepisati postojeći. PUT zahtjeva da se zatvoreni entitet mora pohraniti pod isporučenim zatraženim URI-jem (Uniform Resource Identifier).

U ovom vodiču naučit ćete:

  • Što je PUT?
  • Što je POST?
  • Primjer PUT-a
  • Primjer POST-a
  • Razlika između PUT i POST
  • Testiranje API-ja s PUT zahtjevima
  • Testiranje API-ja s POST zahtjevima
  • Prednosti PUT metode
  • Prednosti POST metode

Što je POST?

POST je metoda koju podržavaju HTTP i

prikazuje da web poslužitelj prihvaća podatke sadržane u tijelu poruke koja se traži. World Wide Web često koristi POST za slanje podataka generiranih od korisnika na web poslužitelj ili prilikom prijenosa datoteke.

KLJUČNE RAZLIKE:

  • PUT metoda poziva se kada morate izmijeniti jedan resurs, dok se POST metoda poziva kada morate dodati podređeni resurs.
  • Odgovor metode PUT može se predmemorirati, ali ne možete predmemorirati odgovore metode PUT.
  • Možete koristiti UPDATE upit u PUT-u, dok možete koristiti create query u POST-u.
  • U PUT metodi, klijent odlučuje koji URI resurs treba imati, a u POST metodi, poslužitelj odlučuje koji URI resurs treba imati.
  • PUT djeluje specifično, dok POST djeluje apstraktno.
  • Ako isti PUT zahtjev pošaljete više puta, rezultat će ostati isti, ali ako isti POST zahtjev pošaljete više puta, dobit ćete različite rezultate.
  • PUT metoda je idempotentna, dok POST metoda nije idempotentna.

Primjer PUT-a

Evo primjera web poslužitelja metode PUT:

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

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

Zahtjev

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

New File

Odgovori

Ako ciljni resurs ima trenutnu reprezentaciju i modificiran je stanjem zatvorene reprezentacije, tada bi poslužitelj trebao poslati dva odgovora. Prvi kôd odgovora je 200 (u redu), a drugi kôd odgovora 204 (bez sadržaja).

Ako ciljni resurs nema predstavu, tada bi poslužitelj trebao obavijestiti korisnika slanjem odgovora 201 (stvorenog) koda.

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

Primjer POST-a

Evo primjera POST metode:

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

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

Obrazac koji koristi zadanu vrstu sadržaja / x-www-form-urlencoded:

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

Razlika između PUT i POST

Evo važne razlike između metode PUT i POST:

STAVITI OBJAVI
Ova metoda je idempotentna. Ova metoda nije idempotentna.
PUT metoda je poziv kada morate izmijeniti jedan resurs, koji je već dio zbirke resursa. POST metoda je poziv kada morate dodati podređeni resurs u zbirku resursa.
RFC-2616 prikazuje da metoda PUT šalje zahtjev za zatvorenim entitetom pohranjenim u isporučenom URI-ju zahtjeva. Ova metoda zahtijeva od poslužitelja da prihvati entitet koji je priložen u zahtjevu.
Sintaksa metode PUT je PUT / questions / {question-id} Sintaksa metode POST je POST / pitanja
Odgovor metode PUT može se predmemorirati. Ne možete predmemorirati odgovore metode PUT.
PUT / vi / juice / orders / 1234 označava da ažurirate resurs koji je označen s "1234". POST / vi / juice / naloga označava da stvarate novi resurs i vraćate identifikator koji opisuje resurs.
Ako isti zahtjev pošaljete više puta, rezultat će ostati isti. Ako isti POST zahtjev pošaljete više puta, dobit ćete različite rezultate.
PUT djeluje kao specifičan. POST rad kao apstraktni.
Koristimo UPDATE upit u PUT-u. Koristimo upit za stvaranje u POST-u.
U metodi PUT, klijent odlučuje koji URI resurs treba imati. U POST metodi, poslužitelj odlučuje koji URI resurs treba imati.

Testiranje API-ja s PUT zahtjevima

Evo koraka za testiranje API-ja sa PUT zahtjevima:

Testiranje API-ja s PUT zahtjevima

Korak 1) Ažurirajte resurse s PUT zahtjevom.

Korak 2) Koristite GET metodu za resurs. Ako PUT zatraži uspjeh, dobit ćete nove podatke. Ova metoda neće uspjeti ako su navedeni podaci u zahtjevu nevaljani. Stoga neće ažurirati ništa.

Testiranje API-ja s POST zahtjevima

Evo koraka za testiranje API-ja s POST zahtjevima:

Testiranje API-ja s POST zahtjevima

Korak 1) Stvorite resurs pomoću POST zahtjeva i pobrinite se da vraća 200 statusni kod.

Korak 2) Pošaljite GET zahtjev za taj resurs i spremite podatke u ispravnom formatu.

Korak 3) Morate dodati testove koji osiguravaju neuspjeh POST zahtjeva s netočnim podacima.

Prednosti PUT metode

Evo prednosti / prednosti upotrebe metode PUT:

  • Pomaže vam pohranjivanje isporučenog entiteta pod isporučeni URI
  • Ako isporučeni entitet već postoji, tada možete izvršiti operaciju ažuriranja ili možete stvoriti s tim URI-jem.
  • Resurs možete stvoriti koliko god puta želite.
  • Stvaranje resursa metodom PUT vrlo je jednostavno.
  • Ne trebate provjeravati je li korisnik više puta kliknuo gumb za slanje ili nije.
  • Može identificirati entitet priložen uz zahtjev.

Prednosti POST metode

Evo prednosti / prednosti korištenja POST metode:

  • Ova metoda pomaže vam odrediti URI resursa.
  • Navođenje novog zaglavlja lokacije resursa vrlo je jednostavno pomoću zaglavlja lokacije.
  • Možete poslati zahtjev za prihvaćanje entiteta kao novog podređenog resursa, što je identificirano URI-jem.
  • Možete generirati podatke generirane od korisnika na web poslužitelj.
  • Vrlo je korisno kada ne znate URL da zadržite bilo koji resurs.
  • Koristite POST kada vam treba poslužitelj, koji kontrolira generiranje URL-a vaših resursa.
  • POST je sigurna metoda jer njezini zahtjevi ne ostaju u povijesti preglednika.
  • Možete bez napora prenijeti veliku količinu podataka putem pošte.
  • Podatke možete držati privatnima.
  • Ova se metoda može koristiti za slanje binarnih kao i ASCII podataka.