Apidog

All-in-one Collaborative API Development Platform

API Design

API Documentation

API Debugging

API Mock

API Automated Testing

Sign up for free
Home / Effective Strategies / PUT vs POST: Key Differences Explained

PUT vs POST: Key Differences Explained

Both PUT and POST are request methods used in the HTTP protocol. So what is the difference between PUT and POST? In this article, we will introduce the HTTP methods such as PUT and POST in detail.

Both PUT and POST are request methods used in the HTTP protocol. So what is the difference between PUT and POST? In this article, we will introduce the HTTP methods such as PUT and POST in detail, and we will also introduce in detail when to use PUT and when to use POST.

💡
PUT and POST have distinct usages for manipulating resources. When selecting between them, Apidog helps by fully supporting all HTTP methods, enabling easy sending of requests and API design.
button

What is PUT HTTP Method?


This article will first introduce the PUT method. PUT is one of the HTTP request methods and is used to create or update a resource at the specified URI location.

Features of the PUT method

The PUT method has the following characteristics:

  • The request URI is used as the resource identifier
  • The request body contains the entire updated resource
  • It has idempotency - repeating the same request yields the same result
  • If the existing resource does not exist, a new one will be created
  • If an existing resource exists, it will be completely replaced with the contents of the body

In other words, the PUT method essentially saves the body content sent in the request as a resource at the location of the URI path. RESTful APIs often use PUT to update resources.

By removing the first-person perspective and rewording a bit, the explanation focuses directly on introducing the key features and usage of the PUT method. Please let me know if this improvement meets your requirements or if you have any other feedback!

What is POST HTTP Method?

POST is one of the HTTP request methods and is used to send data to a specified URI to create a new resource.

Features of the POST method

  • The URI indicates the location of the resource that will handle the request
  • The request body contains data for creating the new resource
  • It does not have idempotency - repeating the same request may produce different results
  • Often used to create new resources
  • An empty request body may still be valid

In other words, the POST method applies the body content sent in the request to the resource identified by the URI. RESTful APIs often use POST to create new resources.

Unlike PUT, POST is not idempotent, meaning duplicate requests can produce different outcomes. The URI points to the processing application rather than the resource itself. POST can support empty request bodies and creation of more than one resource type.

So in summary, POST sends data to an application endpoint to create new resource instances, with no guarantees of identical outcomes for repeated calls.

Example of PUT and POST in HTTP

There are some subtle differences between PUT and POST. Here is an explanation comparing the two methods:

Below are examples of using PUT and POST to send requests:

// PUT example  
PUT /users/1
{
  "id": 1,
  "name": "Ichiro",
  "age": 22
}

This sends a request to replace user 1's record.

// POST example
POST /users  
{
  "name": "Saburo",
  "age": 18
}

This sends a request to create a new user.

As shown above, PUT is generally used to fully replace existing resources, while POST creates new resources. The PUT request body contains all the updated data. The POST body only contains data for the new resource.

What is the Difference Between PUT and POST in HTTP?

The main distinction between PUT and POST in HTTP lies in their functionalities: PUT is limited to creating or updating operations and exclusively acts upon the resource identified by the provided URL, while POST is more versatile, and capable of executing various types of processing tasks. The details differences are as follows:

  • Request Body: The PUT body contains the full updated data for the resource. POST body only includes data for the new resource.
  • URI Meaning: PUT uses the URI to directly identify the resource to update (e.g. user 1). POST uses the URI to specify the collection where a new resource will be created.
  • Idempotency: PUT is idempotent - the same request gives the same result. POST can produce different results each time.
  • Existing Resources: PUT replaces the entire resource with the request body. POST partially updates the resource.
  • New Resources: Both PUT and POST can create new resources.
  • Request Body: PUT requires a body, POST body is optional.

Looking at examples for each distinct feature highlights the differences between the two methods.

Apidog: Supports All HTTP Methods

As seen above, PUT and POST have distinct usages for manipulating resources. When selecting between them for requests, Apidog can help. Apidog fully supports all HTTP methods, enabling easy sending of requests and API design.

For developing APIs, Apidog allows not only API design but also features like spec generation, testing, and mocking.

Click above to try Apidog's online version and leverage different HTTP methods when sending requests and building APIs.

Apidog supports PUT, POST and all major HTTP methods. As HTTP-based protocols, Web APIs need to choose methods based on the purpose:

  • GET (retrieve content)
  • POST (create new content)
  • PUT (update existing content)
  • DELETE (delete content)
HTTP Method

The key Features are:

  • Highlighting Apidog's support for all methods after explaining PUT/POST differences.
  • Explaining Apidog can both send requests and design APIs.
  • Summarizing additional Apidog capabilities for API development.
  • Simplifying the call to action.

Join Apidog's Newsletter

Subscribe to stay updated and receive the latest viewpoints anytime.