PUT vs POST: Kāda ir atšķirība?

Kas ir PUT?

PUT metode tiek izmantota, lai atjauninātu serverī pieejamos resursus. Parasti tas aizvieto visu, kas atrodas mērķa URL, ar kaut ko citu. To var izmantot, lai izveidotu jaunu resursu vai pārrakstītu esošo. PUT pieprasa, lai slēgtā entītija tiktu saglabāta zem pieprasītā URI (vienotā resursa identifikatora).

Šajā apmācībā jūs uzzināsit:

Kas ir POST?

POST ir metode, kuru atbalsta HTTP un

attēlots, ka tīmekļa serveris pieņem pieprasītā ziņojuma pamattekstā iekļautos datus. Vispasaules tīmeklis bieži izmanto POST, lai nosūtītu lietotāju ģenerētus datus uz tīmekļa serveri vai augšupielādējot failu.

GALVENĀS ATŠĶIRĪBAS:

  • PUT metode tiek izsaukta, ja jums ir jāmaina viens resurss, savukārt POST metode tiek izsaukta, kad jāpievieno pakārtots resurss.
  • PUT metodes atbildi var saglabāt kešatmiņā, bet jūs nevarat saglabāt kešatmiņā PUT metodes atbildes.
  • Jūs varat izmantot UPDATE vaicājumu PUT, turpretī varat izveidot vaicājumu POST.
  • PUT metodē klients izlemj, kuram URI resursam jābūt, un POST metodē serveris izlemj, kuram URI resursam jābūt.
  • PUT darbojas kā specifisks, bet POST - kā abstrakts.
  • Ja vienu un to pašu PUT pieprasījumu nosūtīsit vairākas reizes, rezultāts paliks nemainīgs, bet, ja vienu un to pašu POST pieprasījumu nosūtīsit vairākas reizes, jūs saņemsiet dažādus rezultātus.
  • PUT metode ir idempotenta, turpretī POST metode nav idempotenta.

PUT piemērs

Šeit ir PUT metodes tīmekļa servera piemērs:

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

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

Pieprasīt

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

New File



Atbildes

Ja mērķa resursam ir pašreizējais attēlojums un tas tiek mainīts ar pievienotā attēlojuma stāvokli, serverim jānosūta divas atbildes. Pirmais atbildes kods ir 200 (labi), bet otrais atbildes kods ir 204 (bez satura).

Ja mērķa resursam nav attēlojuma, serverim jāinformē lietotājs, nosūtot 201 koda (izveidota) atbildi. | _+_ |

POST piemērs

Šeit ir POST metodes piemērs:

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

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

Veidlapa, kurā tiek izmantota noklusējuma lietojumprogramma/x-www-form-urlencoded content type: | _+_ |

Atšķirība starp PUT un POST

Šeit ir būtiska atšķirība starp PUT un POST metodi:

PUT POST
Šī metode ir idempotenta.Šī metode nav idempotenta.
PUT metode ir izsaukums, ja jums ir jāmaina viens resurss, kas jau ir daļa no resursu kolekcijas.POST metode ir zvans, kad resursu kolekcijā jāpievieno pakārtots resurss.
RFC-2616 attēlo, ka PUT metode nosūta pieprasījumu par slēgtu entītiju, kas saglabāta piegādātajā pieprasījuma URI.Šī metode pieprasa serverim pieņemt entītiju, kas ir iekļauta pieprasījumā.
PUT metodes sintakse ir PUT /jautājumi /{question-id}POST metodes sintakse ir POST /jautājumi
PUT metodes atbildi var saglabāt kešatmiņā.Jūs nevarat saglabāt kešatmiņā PUT metodes atbildes.
PUT/vi/sulu/pasūtījumi/1234 norāda, ka tiek atjaunināts resurss, kas apzīmēts ar “1234”.POST/vi/sula/pasūtījumi norāda, ka veidojat jaunu resursu, un atgriež identifikatoru, lai aprakstītu resursu.
Ja vienu un to pašu pieprasījumu nosūtīsit vairākas reizes, rezultāts paliks nemainīgs.Ja vienu un to pašu POST pieprasījumu nosūtīsit vairāk nekā vienu reizi, jūs saņemsiet dažādus rezultātus.
PUT darbojas kā specifisks.POST darbs kā abstrakts.
Mēs izmantojam UPDATE vaicājumu PUT.Mēs izmantojam izveidot vaicājumu POST.
PUT metodē klients izlemj, kuram URI resursam jābūt.POST metodē serveris izlemj, kuram URI resursam jābūt.

API pārbaude ar PUT pieprasījumiem

Tālāk ir aprakstītas darbības, lai pārbaudītu API ar PUT pieprasījumiem.

API pārbaude ar PUT pieprasījumiem

1. darbība) Atjauniniet resursus, izmantojot PUT pieprasījumu.

2. darbība) Resursam izmantojiet GET metodi. Ja PUT pieprasījums būs veiksmīgs, jūs saņemsiet jaunus datus. Šī metode neizdosies, ja pieprasījumā norādītie dati būs nederīgi. Tāpēc tas neko neatjauninās.

API pārbaude ar POST pieprasījumiem

Tālāk ir aprakstītas darbības, lai pārbaudītu API ar POST pieprasījumiem.

API pārbaude ar POST pieprasījumiem



1. darbība) Izveidojiet resursu, izmantojot POST pieprasījumu, un pārliecinieties, vai tas atgriež 200 statusa kodu.

2. darbība) Izveidojiet GET pieprasījumu šim resursam un saglabājiet datus pareizajā formātā.

3. darbība) Jums jāpievieno testi, kas nodrošina, ka POST pieprasījumi neizdodas ar nepareiziem datiem.

PUT metodes priekšrocības

Šeit ir PUT metodes izmantošanas priekšrocības un priekšrocības:

  • Tas palīdz jums saglabāt piegādāto entītiju zem piegādātā URI
  • Ja piegādātā entītija jau pastāv, varat veikt atjaunināšanas darbību vai izveidot ar šo URI.
  • Jūs varat izveidot resursu tik reižu, cik vēlaties.
  • Resursa izveide ar PUT metodi ir ļoti vienkārša.
  • Jums nav jāpārbauda, ​​vai lietotājs vairākas reizes ir noklikšķinājis uz pogas Iesniegt.
  • Tas var identificēt pieprasījumam pievienoto vienību.

POST metodes priekšrocības

Šeit ir POST metodes izmantošanas priekšrocības un priekšrocības:

  • Šī metode palīdz noteikt resursu URI.
  • Izmantojot resursa galveni, ir ļoti viegli norādīt jaunu resursa atrašanās vietas galveni.
  • Varat nosūtīt pieprasījumu pieņemt entītiju kā jaunu resursa padoto, ko identificē URI.
  • Jūs varat nosūtīt lietotāju ģenerētus datus uz tīmekļa serveri.
  • Tas ir ļoti noderīgi, ja nezināt URL, lai saglabātu kādu resursu.
  • Izmantojiet POST, kad nepieciešams serveris, kas kontrolē jūsu resursu URL ģenerēšanu.
  • POST ir droša metode, jo tās pieprasījumi nepaliek pārlūkprogrammas vēsturē.
  • Izmantojot pastu, varat bez pūlēm pārsūtīt lielu datu apjomu.
  • Jūs varat saglabāt datus privātus.
  • Šo metodi var izmantot, lai nosūtītu binārus, kā arī ASCII datus.