Difference between PUT vs POST from a system administrator POV?

  • Thread starter Thread starter oslon
  • Start date Start date
Click For Summary

Discussion Overview

The discussion centers on the differences between the HTTP methods PUT and POST from the perspective of a system administrator. It explores the concepts of idempotency, data handling, and the implications of using each method in various scenarios.

Discussion Character

  • Technical explanation
  • Conceptual clarification
  • Debate/contested

Main Points Raised

  • Some participants note that PUT is idempotent, meaning that repeating the same request yields the same result, while POST may lead to different outcomes with successive requests.
  • One participant explains that PUT requests must store data at a specified path and will overwrite existing data, while POST requests allow the server to handle data more flexibly without a required URI for retrieval.
  • Another participant emphasizes that POST was originally intended for creating new resources but can also simulate other methods like PUT, GET, DELETE, or PATCH.
  • A participant questions the benefits of idempotency, suggesting that it prevents issues in case of repeated processing due to errors in communication.

Areas of Agreement / Disagreement

Participants express varying levels of understanding regarding the implications of idempotency and the specific use cases for PUT and POST. There is no consensus on the overall benefits or drawbacks of each method, indicating ongoing debate.

Contextual Notes

Some discussions reference foundational concepts from TCP/IP and the application layer, but there are no explicit resolutions to the complexities surrounding the use of PUT and POST.

Who May Find This Useful

This discussion may be useful for system administrators, web developers, and individuals interested in HTTP methods and their implications in web architecture.

oslon
Messages
3
Reaction score
0
TL;DR
Difference between PUT vs POST from a system administrator POV?
I believe it’s important to learn concepts from a POV of X, when trying to learn something very confusing that could mean multiple meanings.

These are what I wrote in my college notes of TCP IP that I did 6 years ago.
pjTMxFbLZkOSy0G4xuXkg7hhnmpEoOBnxOoGuzBZUqeOYv6HFk.png

Much of it is confusing as both seem to be doing the same thing.
Can you tell me what’s the benefit of being idempotent? As far as I know idempotent means no matter how many times you repeat a input, you get same output.
 
Technology news on Phys.org
With PUT /path, the server accepts the data and MUST store it in /path. Making the same request again will overwrite everything in /path.

Then we can do:

GET /path to retrieve existing data;
DELETE /path to delete existing data;
PATCH /path to update only part of existing data.

I guess it makes more sense if one views these as applied to files on a server.

Initially POST was supposed to create a new set of data such as POST /customers or POST /articles for creating new customers or articles, but without identifying a URI to reach it (such as GET /article/{article-id} or GET /article?id={article-id}); it may not have one at all. You were supposed - but not obligated - to add an item to an already existing collection normally defined as /path.

With POST /path, the server accepts the data and does whatever it wants with it. This flexibility lead to use it for simulating a PUT, GET, DELETE, or PATCH with it.
 
  • Love
Likes   Reactions: oslon
oslon said:
TL;DR Summary: Difference between PUT vs POST from a system administrator POV?

These are what I wrote in my college notes of TCP IP that I did 6 years ago.
TCP is a lower layer of the internet protocol, the transport layer. PUT and POST are commands one layer up in the application layer, including such protocols as HTTP, HTTPS, and others.

From this page -- https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/PUT -- it says:
PUT
The HTTP PUT request method creates a new resource or replaces a representation of the target resource with the request payload.

The difference between PUT and POST is that PUT is idempotent: calling it once or several times successively has the same effect (that is no side effect), whereas successive identical POST requests may have additional effects, akin to placing an order several times.
 
  • Like
  • Haha
Likes   Reactions: PeterDonis and oslon
oslon said:
Can you tell me what’s the benefit of being idempotent?
Nothing bad happens if (perhaps due to a communications error) the message is processed more than once.
 

Similar threads

Replies
1
Views
2K
  • · Replies 4 ·
Replies
4
Views
1K
  • · Replies 1 ·
Replies
1
Views
820
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 17 ·
Replies
17
Views
3K
  • · Replies 3 ·
Replies
3
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
Replies
98
Views
4K
Replies
17
Views
3K
  • · Replies 3 ·
Replies
3
Views
6K