PUT vs POST – nende erinevus

Peamised erinevused PUT ja POST vahel

  • PUT-meetodit kutsutakse siis, kui peate muutma ühte ressurssi, POST-meetodit aga siis, kui peate lisama alamressurssi.
  • POST-meetodi vastuseid saab vahemällu salvestada, kuid te ei saa PUT-meetodi vastuseid vahemällu salvestada.
  • PUT-is saate kasutada päringut UPDATE, POST-is aga päringu loomist.
  • PUT-meetodi puhul otsustab klient, milline URI ressurss peaks olema, ja POST-meetodi puhul otsustab server, milline URI ressurss peaks olema.
  • PUT töötab konkreetsena, POST aga abstraktsena.
  • Kui saadate sama PUT-päringu mitu korda, jääb tulemus samaks, kuid kui saadate sama POST-päringu mitu korda, saate erinevaid tulemusi.
  • PUT-meetod on idempotentne, samas kui POST-meetod pole idempotentne.
PUT vs POST
PUT vs POST

Mis on PUT-meetod?

PUT-meetodit kasutatakse serveris saadaoleva ressursi värskendamiseks. Tavaliselt asendab see siht-URL-is olemasoleva millegi muuga. Saate seda kasutada uue ressursi loomiseks või olemasoleva ülekirjutamiseks. PUT nõuab, et suletud olem tuleb salvestada esitatud taotletud URI (ühtne ressursiidentifikaator) alla.

Mis on POST-meetod?

POST on meetod, mida toetavad HTTP ja

kujutab, et veebiserver aktsepteerib nõutud sõnumi sisus sisalduvaid andmeid. World Wide Web kasutab sageli POST-i kasutaja loodud andmete saatmiseks veebiserverisse või faili üleslaadimisel.

Erinevused PUT ja POST vahel REST API-des

Siin on oluline erinevus PUT- ja POST-meetodi vahel:

PUT POST
See meetod on idempotentne. See meetod ei ole idempotentne.
PUT meetod on kõne, kui peate muutma ühte ressurssi, mis on juba ressursside kogumise osa. POST-meetod on kõne, kui peate ressursside kogumise alla lisama alamressursi.
RFC-2616 näitab, et PUT-meetod saadab päringu suletud olemi kohta, mis on salvestatud esitatud päringu URI-sse. See meetod nõuab serverilt päringusse lisatud olemi vastuvõtmist.
PUT-meetodi süntaks on PUT /questions/{question-id} POST-meetodi süntaks on POST /questions
Te ei saa PUT-meetodi vastuseid vahemällu salvestada. POST-meetodi vastuse saab vahemällu salvestada.
PUT /vi/juice/orders/1234 näitab, et värskendate ressurssi, mida tähistab "1234". POST /vi/juice/orders näitab, et loote uut ressurssi ja tagastate ressursi kirjeldamiseks identifikaatori.
Kui saadate sama päringu mitu korda, jääb tulemus samaks. Kui saadate sama POST-päringu rohkem kui ühe korra, saate erinevaid tulemusi.
PUT töötab konkreetselt. POST töö kui abstraktne.
Kasutame PUT-is päringut UPDATE. Me kasutame POST-is loomispäringut.
PUT-meetodi puhul otsustab klient, milline URI ressurss peaks olema. POST-meetodi puhul otsustab server, milline URI ressurss peaks olema.

PUT-i näide

Siin on PUT-meetodi veebiserveri näide:

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

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

Küsi

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

<p>New File</p>

Vastused

Kui sihtressurssi, millel on praegune esitus ja seda muudetakse suletud esinduse olekuga, peaks server saatma kaks vastust. Esimene vastusekood on 200 (OK) ja teine ​​vastusekood on 204 (sisu puudub).

Kui sihtressursil puudub esitus, peaks server teavitama kasutajat, saates vastuse koodiga 201 (Loodud).

 HTTP/1.1 201 Created
Content-Location: /new.html

POST-i näide

Siin on näide POST-meetodist:

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

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

Vorm, mis kasutab vaikerakenduse/x-www-form-urlencoded sisutüüpi:

POST /test HTTP/1.1
Host: abc.example
Content-Type: application/x-www-form-urlencoded
Content-Length: 40

field1=value1&field2=value2

API testimine PUT-päringutega

Siin on sammud API testimiseks PUT-päringutega.

API testimine PUT-i taotlustega
API testimine PUT-päringutega

Step 1) Värskendage ressursse PUT-i päringuga.

Step 2) Kasutage ressursi jaoks meetodit GET. Kui PUT-i päring õnnestub, saate uusi andmeid. See meetod ebaõnnestub, kui päringus esitatud andmed on kehtetud. Seetõttu ei värskenda see midagi.

API testimine POST-i päringutega

Siin on sammud API testimiseks POST-päringutega.

API testimine POST-i taotlustega

API testimine POST-i päringutega

Step 1) Looge ressurss POST-i päringu abil ja veenduge, et see tagastaks olekukoodi 200.

Step 2) Tehke selle ressursi jaoks GET-i päring ja salvestage andmed õiges vormingus.

Step 3) Peate lisama testid, mis tagavad, et POST-i päringud ebaõnnestuvad valede andmetega.

PUT-meetodi eelised

Siin on PUT-meetodi kasutamise plussid / eelised:

  • See aitab teil salvestada tarnitud olemi kaasasoleva URI alla
  • Kui tarnitud olem on juba olemas, saate teha värskendustoimingu või luua selle URI-ga.
  • Ressursi saate luua nii mitu korda kui soovite.
  • Ressursi loomine PUT-meetodiga on väga lihtne.
  • Te ei pea kontrollima, kas kasutaja on mitu korda saatmisnupule klõpsanud või mitte.
  • See suudab tuvastada päringule lisatud olemi.

POST-meetodi eelised

Siin on POST-meetodi kasutamise plussid ja eelised:

  • See meetod aitab teil määrata ressursi URI.
  • Uue ressursi asukoha päise määramine on asukoha päise abil väga lihtne.
  • Saate saata taotluse aktsepteerida olem ressursi uue alluvana, mille tuvastab URI.
  • Saate saata kasutaja loodud andmeid veebiserverisse.
  • Ressursi säilitamiseks on see väga kasulik, kui te ei tea URL-i.
  • Kasutage POST-i, kui vajate serverit, mis juhib teie ressursside URL-i genereerimist.
  • POST on turvaline meetod, kuna selle päringud ei jää brauseri ajalukku.
  • Saate posti abil hõlpsalt edastada suure hulga andmeid.
  • Saate andmed privaatsena hoida.
  • Seda meetodit saab kasutada nii binaar- kui ka ASCII-andmete saatmiseks.