Skip to main content

Posts

Showing posts from September, 2018

POST vs PUT

There are multiple ways developers will explain the difference between POST and PUT but fundamentally idempotency is the most distinguishing and important difference. Idempotent HTTP requests will result in the same state on the server no matter how many times that same request is executed. GET, HEAD, PUT, and DELETE all have this attribute but POST does not. So the operations that should be idempotent should not be handled by POST but by PUT. For example, 'POST /tweets' will create a new tweet and might return a url to identify the new tweet resource with 'tweet/1007' 'PUT /tweet/1007' will either create a new tweet if it does not already exist, or replace the existing tweet with new information. Remember, POST will always have a side-effect!