PUT vs POST: Kakšna je razlika?

Kazalo:

Anonim

Kaj je PUT?

Metoda PUT se uporablja za posodobitev virov, ki so na voljo na strežniku. Običajno nadomesti vse, kar obstaja na ciljnem URL-ju, z nečim drugim. Z njim lahko ustvarite nov vir ali prepišete obstoječega. PUT zahteva, da mora biti priloženi entitet shranjen pod priloženim zahtevanim URI (enotni identifikator vira).

V tej vadnici boste izvedeli:

  • Kaj je PUT?
  • Kaj je POST?
  • Primer PUT
  • Primer POST
  • Razlika med PUT in POST
  • Testiranje API-ja z zahtevami PUT
  • Testiranje API-ja z zahtevami POST
  • Prednosti metode PUT
  • Prednosti metode POST

Kaj je POST?

POST je metoda, ki jo podpirata HTTP in

prikazuje, da spletni strežnik sprejema podatke, ki so vključeni v telo sporočila, ki je zahtevano. Svetovni splet POST pogosto uporablja za pošiljanje uporabniško ustvarjenih podatkov na spletni strežnik ali med nalaganjem datoteke.

KLJUČNE RAZLIKE:

  • Metoda PUT se prikliče, ko morate spremeniti en vir, metoda POST pa, ko morate dodati podrejeni vir.
  • Odziv metode PUT je mogoče predpomniti, odzivov metode PUT pa ne morete predpomniti.
  • Poizvedbo UPDATE lahko uporabite v PUT, medtem ko lahko uporabite poizvedbo create v POST.
  • Pri metodi PUT se odjemalec odloči, kateri vir URI mora imeti, pri metodi POST pa strežnik, kateri vir URI mora imeti.
  • PUT deluje tako specifično, medtem ko POST deluje abstraktno.
  • Če isto zahtevo PUT pošljete večkrat, bo rezultat ostal enak, če pa večkrat pošljete isto zahtevo POST, boste prejeli različne rezultate.
  • Metoda PUT je idempotentna, medtem ko metoda POST ni idempotentna.

Primer PUT

Tu je primer spletnega strežnika metode PUT:

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

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

Prošnja

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

New File

Odzivi

Če ima ciljni vir trenutno predstavitev in je spremenjen s stanjem priložene predstavitve, mora strežnik poslati dva odgovora. Prva odzivna koda je 200 (v redu), druga odzivna koda pa 204 (brez vsebine).

Če ciljni vir nima nobene predstavitve, mora strežnik uporabnika o tem obvestiti s pošiljanjem odgovora kode 201 (Ustvarjeno).

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

Primer POST

Tu je primer metode POST:

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

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

Obrazec, ki uporablja privzeto vrsto vsebine application / x-www-form-urlencoded:

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

Razlika med PUT in POST

Tu je pomembna razlika med metodo PUT in POST:

PUT OBJAVI
Ta metoda je idempotentna. Ta metoda ni idempotentna.
Metoda PUT je klic, ko morate spremeniti en vir, ki je že del zbirke virov. Metoda POST je klic, ko morate podrejenemu viru dodati zbirko virov.
RFC-2616 prikazuje, da metoda PUT pošlje zahtevo za zaprto entiteto, shranjeno v dobavljenem URI zahteve. Ta metoda zahteva, da strežnik sprejme entiteto, ki je priložena zahtevi.
Sintaksa metode PUT je PUT / questions / {question-id} Sintaksa metode POST je POST / vprašanja
Odgovor metode PUT je mogoče predpomniti. Odzivov metode PUT ni mogoče shraniti v predpomnilnik.
PUT / vi / juice / orders / 1234 pomeni, da posodabljate vir, ki je označen z "1234". POST / vi / juice / orders pomeni, da ustvarjate nov vir in vrnete identifikator za opis vira.
Če isto zahtevo pošljete večkrat, bo rezultat ostal enak. Če isto zahtevo POST pošljete več kot enkrat, boste prejeli različne rezultate.
PUT deluje kot specifičen. POST delo kot povzetek.
Uporabljamo poizvedbo UPDATE v PUT. Uporabljamo poizvedbo create v POST.
Pri metodi PUT se odjemalec odloči, kateri vir URI mora imeti. Pri metodi POST se strežnik odloči, kateri vir URI bi moral imeti.

Testiranje API-ja z zahtevami PUT

Tu so koraki za preizkušanje API-ja z zahtevami PUT:

Testiranje API-ja z zahtevami PUT

Korak 1) Posodobite vire z zahtevo PUT.

Korak 2) Za vir uporabite metodo GET. Če PUT zahteva uspeh, boste prejeli nove podatke. Ta metoda ne bo uspela, če so navedeni podatki v zahtevi neveljavni. Zato ne bo posodobil ničesar.

Testiranje API-ja z zahtevami POST

Tu so koraki za preizkušanje API-ja z zahtevami POST:

Testiranje API-ja z zahtevami POST

1. korak: Ustvarite vir z uporabo zahteve POST in se prepričajte, da vrne 200 statusno kodo.

Korak 2) Za ta vir podajte zahtevo GET in shranite podatke v pravilni obliki.

Korak 3) Dodati morate teste, ki zagotavljajo, da zahteve POST ne uspejo z napačnimi podatki.

Prednosti metode PUT

Tu so prednosti / prednosti uporabe metode PUT:

  • Pomaga vam shraniti dobavljeno entiteto pod dobavljenim URI-jem
  • Če dobavljena entiteta že obstaja, lahko izvedete operacijo posodobitve ali pa ustvarite s tem URI-jem.
  • Vir lahko ustvarite, kolikor želite.
  • Ustvarjanje vira z metodo PUT je zelo enostavno.
  • Ni vam treba preverjati, ali je uporabnik večkrat kliknil gumb za oddajo ali ne.
  • Lahko identificira entiteto, priloženo zahtevi.

Prednosti metode POST

Tu so prednosti / prednosti uporabe metode POST:

  • Ta metoda vam pomaga določiti URI vira.
  • Določanje nove glave lokacije vira je zelo enostavno z uporabo glave lokacije.
  • Pošljete lahko zahtevo za sprejem entitete kot novega podrejenega vira, ki ga identificira URI.
  • Uporabniško ustvarjene podatke lahko pošljete na spletni strežnik.
  • Zelo koristno je, če ne poznate URL-ja, da obdržite kateri koli vir.
  • Uporabite POST, ko potrebujete strežnik, ki nadzoruje ustvarjanje URL-jev vaših virov.
  • POST je varna metoda, saj njene zahteve ne ostanejo v zgodovini brskalnika.
  • Z lahkoto lahko s pošto pošljete veliko količino podatkov.
  • Podatke lahko obdržite zasebne.
  • Ta metoda se lahko uporablja za pošiljanje binarnih in ASCII podatkov.