PUT vs POST: Koja je razlika?

Što je PUT?

PUT metoda se koristi za ažuriranje resursa dostupnih na poslužitelju. Obično zamjenjuje sve što postoji na ciljnom URL -u nečim drugim. Pomoću njega možete izraditi novi resurs ili prebrisati postojeći. PUT traži da se zatvoreni entitet mora pohraniti pod isporučenim zatraženim URI (Uniform Resource Identifier).

U ovom vodiču naučit ćete:

Što je POST?

POST je metoda koju podržavaju HTTP i

prikazuje da web poslužitelj prihvaća tražene podatke uključene u tijelo poruke. POST često koristi World Wide Web za slanje podataka koje generiraju korisnici na web poslužitelj ili prilikom učitavanja datoteke.

KLJUČNE RAZLIKE:

  • PUT metoda se poziva kada morate promijeniti jedan resurs, dok se POST metoda poziva kada morate dodati podređeni resurs.
  • Odgovor PUT metode može se predmemorirati, ali ne možete keširati odgovore PUT metode.
  • Upit UPDATE možete upotrijebiti u PUT -u, dok u POST -u možete koristiti upite za stvaranje.
  • 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 radi kao specifičan dok POST radi kao apstraktan.
  • Ako više puta pošaljete isti PUT zahtjev, 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 PUT metode web poslužitelja:

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

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

Zahtjev

PUT /new.html HTTP/1.1 Host: example.com Content-type: text/html Content-length: 20 

New File



Odgovori

Ako ciljni resurs ima trenutni prikaz i mijenja se sa stanjem zatvorenog prikaza, poslužitelj bi trebao poslati dva odgovora. Prvi kôd odgovora je 200 (u redu), a drugi kôd odgovora je 204 (bez sadržaja).

Ako ciljni resurs nema predstavu, poslužitelj bi trebao obavijestiti korisnika slanjem odgovora 201 koda (kreiran). | _+_ |

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 aplikaciju/x-www-form-urlencoded vrstu sadržaja: | _+_ |

Razlika između PUT i POST

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

STAVITI POST
Ova metoda je idealna.Ova metoda nije idealna.
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 PUT metoda šalje zahtjev za zatvorenom entitetom pohranjenom u isporučenom URI-ju zahtjeva.Ova metoda zahtijeva od poslužitelja da prihvati entitet koji je zatvoren 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 identificiran sa '1234'.POST/vi/juice/orders označava da stvarate novi resurs i vraćate identifikator za opis resursa.
Ako isti zahtjev pošaljete više puta, rezultat će ostati isti.Ako isti POST zahtjev šaljete više puta, dobit ćete različite rezultate.
PUT radi kao specifičan.POST rad kao apstrakt.
Koristimo UPDATE upit u PUT -u.Koristimo izradu upita u POST -u.
U PUT metodi, 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 s PUT zahtjevima:

Testiranje API -ja s PUT zahtjevima

Korak 1) Ažurirajte resurse zahtjevom PUT.

Korak 2) Za izvor koristite metodu GET. Ako zahtjev PUT uspije, dobit ćete nove podatke. Ova metoda neće uspjeti ako su dostavljeni podaci u zahtjevu nevažeći. Stoga neće ništa ažurirati.

Testiranje API -ja sa POST zahtjevima

Evo koraka za testiranje API -ja s POST zahtjevima:

Testiranje API -ja sa POST zahtjevima



Korak 1) Izradite resurs pomoću POST zahtjeva i pobrinite se da vraća 200 statusnog koda.

Korak 2) Učinite 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 korištenja PUT metode:

  • Pomaže vam pohraniti isporučeni entitet pod isporučeni URI
  • Ako isporučeni entitet već postoji, tada možete izvesti operaciju ažuriranja ili možete stvoriti s tim URI -jem.
  • Resurs možete stvoriti koliko god puta želite.
  • Stvaranje resursa PUT metodom vrlo je jednostavno.
  • Ne morate provjeravati je li korisnik više puta pritisnuo gumb za slanje ili ne.
  • Može identificirati entitet priložen zahtjevu.

Prednosti POST metode

Evo prednosti/prednosti korištenja POST metode:

  • Ova vam metoda pomaže odrediti URI resursa.
  • Određivanje zaglavlja lokacije novog resursa vrlo je jednostavno pomoću zaglavlja lokacije.
  • Možete poslati zahtjev za prihvaćanje entiteta kao novog podređenog resursa, koji je identificiran URI -om.
  • Na web poslužitelj možete poslati podatke koje generiraju korisnici.
  • Vrlo je korisno ako ne znate URL da biste zadržali bilo koji resurs.
  • Koristite POST kada vam je potreban poslužitelj koji kontrolira generiranje URL -a vaših resursa.
  • POST je sigurna metoda jer njezini zahtjevi ne ostaju u povijesti preglednika.
  • Pomoću pošte možete bez napora prenijeti veliku količinu podataka.
  • Podatke možete držati privatnima.
  • Ova se metoda može koristiti za slanje binarnih, kao i ASCII podataka.