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.

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.

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.

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.