POST Method

Luke Stephens
Nov 3, 2023
What is POST Method?
POST is a crucial HTTP method used to send data to a server to create or update a resource. Unlike GET, which is used to retrieve information from the server, POST is used to submit data to be processed to a specified resource. It's generally used when uploading a file or submitting a completed web form.
Principles of POST Method
Non-idempotent: Unlike
GET,POSTis non-idempotent, which means that making multiple identical requests can result in different outcomes. EachPOSTrequest can create a new resource or change the state of an existing resource.For example, if you have a
POST /api/ordersendpoint to create a new order, sending the samePOSTrequest multiple times will create multiple new orders. In code, it would look like this:
Data Submission:
POSTis designed for data submission, allowing data to be sent in therequest body.Example:
In this example, a new user is being created with the name John Doe and email john.doe@example.com.
Resource Creation or Modification: Typically,
POSTis used to create a new resource, but it can also be used to update an existing resource. This is achieved by including the relevant data in therequest bodywhich the server processes to either create a new resource or modify an existing one.
Benefits of Http POST Method
POST is essential when the client needs to send data to the server to create or update resources. It's a secure way of sending data as the data is not appended to the URL (as in GET), but included in the request body.
Data Encapsulation: Unlike
GET, where data is appended to theURL, inPOST, data is included in the body of the request, which allows sending large amounts of data. This is especially useful in scenarios like file uploads where the data size can be quite large.Security: As data is in the
bodyand not in theURL,POSTis a more secure method when sending sensitive data. This is crucial for operations like user login where sensitive data such as passwords are transmitted to the server.Versatility:
POSTcan be used for various tasks such as creating a new resource, updating an existing resource, or even submitting form data. This makesPOSTa versatile HTTP method capable of handling a variety of operations required in modern web applications.
How does POST Method Work?
The operation of the POST method involves the following steps:
Client Sends a Request
The client sends an HTTP request to the server with the
POSTmethod, specifying the resource'sURIand the data to be processed.
In this step, a new order is being created with a specified product_id and quantity.
Server Processes the Request
The server processes the request, creates or updates the specified resource, and prepares the response. During this phase, the server may interact with a database to store the new data or update existing data based on the information received in the
POSTrequest.Server Sends a Response to the Client
The server sends an HTTP response to the client, indicating the result of the request.
Here, the server responds with the details of the newly created order, including a new order_id generated by the server.
Components of a POST Request
A POST request comprises several components:
URI (Uniform Resource Identifier): The
URIidentifies where to send the request. For example:/api/orders. It's like the address of the house where you are sending a letter.Method: The HTTP method, which in this case is
POST. This tells the server what kind of action you want to perform.Headers: HTTP headers allow the client to pass additional information about the request and about itself, to the server. For instance, the
Content-Typeheader tells the server the format of the data in the body.
Data: The data to be processed, included in the
request body.
POST Request Example
POST requests are used to send data to a server. Here are some examples showing how POST requests can be used:
Creating a New Resource:
This POST request creates a new book resource on the server. The Content-Type header tells the server that the data is in JSON format.
Updating an Existing Resource:
Although traditionally other methods like
PUTorPATCHare used to update resources,POSTcan also be used for updates, especially in cases where the client doesn’t know theURIof the resource.
This POST request updates the book with ID 1 on the server, adding the year of publication.
Conclusion
The POST method is a robust tool in the HTTP protocol suite, enabling the creation and modification of resources on the server. It plays a vital role in the functionality of modern web applications, allowing for interactive features and dynamic content updates.
Learn the difference between GET and POST methods.
Explore more from Akto
Blog
Be updated about everything related to API Security, new API vulnerabilities, industry news and product updates.
Events
Browse and register for upcoming sessions or catch up on what you missed with exclusive recordings
CVE Database
Find out everything about latest API CVE in popular products
Test Library
Discover and find tests from Akto's 100+ API Security test library. Choose your template or add a new template to start your API Security testing.
Documentation
Check out Akto's product documentation for all information related to features and how to use them.

