PUT vs POST – Skillnaden mellan dem

Nyckelskillnader mellan PUT och POST

  • PUT-metoden anropas när du måste ändra en enskild resurs, medan POST-metoden anropas när du måste lägga till en underordnad resurs.
  • POST-metodens svar kan cachelagras, men du kan inte cacha PUT-metodens svar.
  • Du kan använda UPDATE-frågan i PUT, medan du kan använda skapa-frågan i POST.
  • I PUT-metoden bestämmer klienten vilken URI-resurs som ska ha, och i POST-metoden bestämmer servern vilken URI-resurs som ska ha.
  • PUT fungerar som specifikt, medan POST fungerar som abstrakt.
  • Om du skickar samma PUT-förfrågan flera gånger förblir resultatet detsamma, men om du skickar samma POST-förfrågan flera gånger får du olika resultat.
  • PUT-metoden är idempotent, medan POST-metoden inte är idempotent.
PUT vs POST
PUT vs POST

Vad är PUT-metoden?

PUT-metoden används för att uppdatera resurs tillgänglig på servern. Vanligtvis ersätter det allt som finns på måladressen med något annat. Du kan använda den för att skapa en ny resurs eller skriva över en befintlig. PUT begär att den bifogade enheten måste lagras under den tillhandahållna begärda URI (Uniform Resource Identifier).

Vad är POST-metoden?

POST är en metod som stöds av HTTP och

visar att en webbserver accepterar de uppgifter som ingår i meddelandets brödtext, som efterfrågas. POST används ofta av World Wide Web för att skicka användargenererad data till webbservern eller när du laddar upp en fil.

Skillnader mellan PUT och POST i REST API:er

Här är den viktiga skillnaden mellan PUT- och POST-metoden:

SÄTTA POST
Denna metod är idempotent. Denna metod är inte idempotent.
PUT-metoden är anrop när du måste ändra en enskild resurs, som redan är en del av resursinsamlingen. POST-metoden är anrop när du måste lägga till en underordnad resurs under resursinsamling.
RFC-2616 visar att PUT-metoden skickar en begäran om en innesluten enhet lagrad i den tillhandahållna begäran-URI. Denna metod begär att servern accepterar den enhet som är innesluten i begäran.
PUT-metodens syntax är PUT /questions/{question-id} POST-metodens syntax är POST /questions
Du kan inte cachelagra PUT-metodens svar. POST-metodens svar kan cachelagras.
PUT /vi/juice/orders/1234 indikerar att du uppdaterar en resurs som identifieras med "1234". POST /vi/juice/orders indikerar att du skapar en ny resurs och returnerar en identifierare för att beskriva resursen.
Om du skickar samma begäran flera gånger förblir resultatet detsamma. Om du skickar samma POST-förfrågan mer än en gång får du olika resultat.
PUT fungerar som specifik. POST-arbete som abstrakt.
Vi använder UPDATE-fråga i PUT. Vi använder skapa sökfråga i POST.
I PUT-metoden bestämmer klienten vilken URI-resurs som ska ha. I POST-metoden bestämmer servern vilken URI-resurs som ska ha.

Exempel på PUT

Här är webbserverexemplet på en PUT-metod:

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

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

FÖRFRÅGAN

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

<p>New File</p>

Responser

Om målresursen har aktuell representation och modifieras med tillståndet för den bifogade representationen, bör servern skicka två svar. Den första svarskoden är 200 (OK) och den andra svarskoden är 204 (Inget innehåll).

Om målresursen inte har någon representation, bör servern informera användaren genom att skicka ett 201-kodsvar (skapat).

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

Exempel på POST

Här är ett exempel på POST-metoden:

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

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

Ett formulär som använder standardinnehållstypen application/x-www-form-urlencoded:

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

field1=value1&field2=value2

Testar ett API med PUT-förfrågningar

Här är stegen för att testa API med PUT-förfrågningar:

Testa ett API med PUT-förfrågningar
Testar ett API med PUT-förfrågningar

Steg 1) Uppdatera resurser med PUT-begäran.

Steg 2) Använd GET-metoden för resurs. Om PUT-begäran lyckas kommer du att få ny data. Denna metod kommer att misslyckas om de angivna uppgifterna i begäran är ogiltiga. Därför kommer den inte att uppdatera någonting.

Testar ett API med POST-förfrågningar

Här är stegen för att testa API med POST-förfrågningar:

Testa ett API med POST-förfrågningar

Testar ett API med POST-förfrågningar

Steg 1) Skapa en resurs med POST-begäran och se till att den returnerar 200-statuskod.

Steg 2) Gör en GET-förfrågan för den resursen och spara data i rätt format.

Steg 3) Du måste lägga till tester som säkerställer att POST-förfrågningar misslyckas med felaktig data.

Fördelar med PUT-metoden

Här är fördelar/fördelar med att använda PUT-metoden:

  • Det hjälper dig att lagra den medföljande enheten under den medföljande URI:n
  • Om den angivna enheten redan finns kan du utföra uppdateringsåtgärden, eller så kan du skapa med den URI:n.
  • Du kan skapa en resurs så många gånger du vill.
  • Att skapa en resurs med PUT-metoden är mycket enkelt.
  • Du behöver inte kontrollera om användaren har klickat på knappen Skicka flera gånger eller inte.
  • Den kan identifiera den enhet som bifogas begäran.

Fördelar med POST-metoden

Här är fördelar/fördelar med att använda POST-metoden:

  • Den här metoden hjälper dig att bestämma resurs-URI.
  • Att ange en ny resursplatsrubrik är mycket lätt med platsrubrik.
  • Du kan skicka en begäran om att acceptera entiteten som en ny underordnad till resursen, som identifieras av URI:n.
  • Du kan skicka användargenererad data till webbservern.
  • Det är mycket användbart när du inte vet URL för att behålla någon resurs.
  • Använd POST när du behöver servern, som styr URL-genereringen av dina resurser.
  • POST är en säker metod eftersom dess förfrågningar inte finns kvar i webbläsarhistoriken.
  • Du kan enkelt överföra en stor mängd data med post.
  • Du kan hålla uppgifterna privata.
  • Denna metod kan användas för att skicka både binära data och ASCII-data.