• Articles
  • Tutorials
  • Interview Questions

Understanding HTTP Request Methods

Understanding HTTP Request Methods

In this article, we’ll explore the various HTTP request methods and their significance in web development. HTTP request methods associated with RESTful web development and the Hypertext Transfer Protocol will be our primary focus. They are the ones most frequently employed by RESTful API designers.

Table of Contents

Take a look at what is Postman and how you can use it to automate your API development and testing workflows.

Before starting to understand what HTTP Request Methods is all about, first go through the HTTP Request Methods browser compatibility in PC, as well as in Android/ IOS devices.

  Desktop  Android / IOS
ChromeEdgeFirefoxOperaSafariChrome AndroidFirefox for AndroidOpera AndroidSafari on iOS
CONNECT MethodYes 12YesYesYesYesYesYesYes
DELETE MethodYes12YesYesYesYesYesYesYes
GET MethodYes12YesYesYesYesYesYesYes
HEAD MethodYes12YesYesYesYesYesYesYes
OPTIONS MethodYes12YesYesYesYesYesYesYes
POST MethodYes12YesYesYesYesYesYesYes
PUT MethodYes12YesYesYesYesYesYesYes
TRACE MethodYes12YesYesYesYesYesYesYes

GET Method

This method is primarily used to fetch data from the server. Whether it’s a webpage, an image, a CSS file, or a JSON document, the GET method retrieves it without altering any server resource. It’s considered a safe operation.

The GET method can be used to request any resource that is identifiable by a URL, including:

  • Static resources, such as HTML pages, images, CSS files, and JavaScript files
  • Dynamic resources, such as the results of a database query or the output of a script
  • Web API endpoints, which can be used to retrieve data, create, update, or delete resources

Here are some examples of how the GET method can be used to request different types of resources:

  • GET /index.html – Requests the HTML page at the root of the website
  • GET /images/logo.png – Requests the image file logo.png from the /images directory
  • GET /api/users – Requests a list of all users from the web API
  • GET /api/users/1 – Requests the user with ID 1 from the web API

The GET method is one of the best options to consider if you need to retrieve data from a web server.

Become an expert in Cyber Security by signing up for Intellipaat’s Cyber Security Course.

PUT Method

PUT Method

The PUT method either updates an existing resource or creates a new one. When using PUT, the entire resource definition is sent to the server. If the resource exists, it’s replaced; if not, a new one is created. This method is idempotent but not safe, meaning repeated requests have the same effect.

Here is an example of a PUT request method:

PUT /api/users/1 HTTP/1.1
Host: example.com
Content-Type: application/json
{
  "name": "John Doe",
  "email": "[email protected]"
}

This request will update the user with ID 1 on the server with the new name and email address that are provided in the request body.

PUT requests are typically used with web APIs to create or update resources. For example, you could use a PUT request to update the user profile on a social media website or to create a new product listing on an e-commerce website.

POST Method

POST Method

When you need to send data to the server, the POST method comes into play. This could be data from online forms, XML or JSON data, or text from query parameters. Unlike GET, POST can change the server’s state and might have side effects.

Here is an example of a POST request:

POST /api/users HTTP/1.1
Host: example.com
Content-Type: application/json
{
  "name": "John Doe",
  "email": "[email protected]"
}

This request will create a new user on the server with the name and email address that are provided in the request body.

POST requests find common applications in web forms and web APIs. They serve various purposes, such as transmitting data from a login form, creating a new user account on a website, submitting a fresh blog post, or uploading files to a server.

If you need to create, update, or delete a resource on a web server, the POST method is a good choice to consider.

When to use the POST method:

  • Submitting a login form
  • Creating a new account on a website
  • Submitting a new blog post
  • Uploading a file to a server
  • Creating a new order on an e-commerce website
  • Subscribing to a newsletter
  • Contacting a business through their website

Check out the Cyber Security Courses that are available at Intellipaat.

Get 100% Hike!

Master Most in Demand Skills Now !

DELETE Method

DELETE Method

As the name suggests, this method deletes a specified resource on the server. Like PUT, DELETE is idempotent but not safe, but it can also be used to create new resources if the resource does not already exist.

To use the DELETE method, you send a request to the server with the URL of the resource you wish to remove. If the resource exists, the server will proceed to delete it. In the event that the resource is not found, the server generally responds with a 404 Not Found error code.

Here is an example of a DELETE request:

DELETE /api/users/1 HTTP/1.1
Host: example.com

This request will delete the user with ID 1 from the server.

When to use the DELETE method:

  • Deleting a user account on a social media website
  • Deleting a product listing on an e-commerce website
  • Deleting a comment on a blog post
  • Deleting a file from a file-sharing service
  • Unsubscribing from a newsletter
  • Cancelling an order on an e-commerce website

Note: DELETE requests should only be used when the user is certain that they want to delete the resource. Once a resource has been deleted, it cannot be recovered.

Enroll in our CEH Certification and learn Ethical Hacking from the basics!

PATCH Method

PATCH Method

Sometimes, only a part of a resource needs updating. Instead of sending the entire resource with PUT, PATCH allows for partial updates, making it more efficient for large resources.

To use the PATCH method, you send a request to the server with the partial changes that you want to apply to the resource in the request body. The server will then apply the changes to the resource and return a response.

Here is an example of a PATCH request:

PATCH /api/users/1 HTTP/1.1
Host: example.com
Content-Type: application/json
{
  "name": "John Doe Jr."
}

This request will update the name of the user with ID 1 on the server to “John Doe Jr.” All other fields of the user resource will remain unchanged.

When to use the PATCH method:

  • Updating the user profile on a social media website
  • Updating the quantity of a product in a shopping cart
  • Changing the status of an order on an e-commerce website
  • Updating a blog post with minor changes
  • Fixing a typo in a product description

Note: The PATCH method is not as commonly used as the other HTTP methods, but it is becoming more popular as web APIs become more sophisticated.

Get to know about the Top Cyber Security skills in this blog!

HEAD Method

HEAD Method

This method is all about fetching metadata about a server resource. It returns the headers associated with a resource but not the resource itself. It’s useful for checking resource size, existence, last-modified date, and cache validity.

To use the HEAD method, you send a request to the server with the URL of the resource you want to inspect. In response, the server provides a reply containing the identical headers you would receive if you had made a GET request for the resource. But the key distinction is that the response will have an empty body.

Here is an example of a HEAD request:

HEAD /index.html HTTP/1.1
Host: example.com

This request will return the response headers for the HTML file at the root of the website. The response body will be empty.

When to use the HEAD method:

  • Checking if a user account is still active
  • Getting the size of a file before downloading it
  • Checking if a resource has been modified since the last time it was accessed
  • Getting the content type of a resource
  • Getting the last modified date of a resource

Note: The HEAD method is not as commonly used as the other HTTP methods, but it can be a useful tool for checking the status of resources and getting their metadata without having to download them.

OPTIONS Method

OPTIONS Method

This method provides information about which HTTP methods a resource supports. To use the OPTIONS method, you submit a request to the server with the URL of the resource you wish to check. In response, the server will return you with a response with the available communication options for the resource.

Here is an example of an OPTIONS request:

OPTIONS /api/users HTTP/1.1
Host: example.com

This request will return a response with the HTTP methods that are supported by the server for the /api/users resource. The response may also include other information about the resource, such as the supported content types and the required authentication credentials.

When to use the OPTIONS method:

  • Determining what HTTP methods you can use to create a new user account on a social media website
  • Getting the supported content types for a file upload API
  • Determining the required authentication credentials for a protected resource
  • Checking if a resource supports a specific HTTP method, such as PATCH or DELETE
  • Troubleshooting problems with a web API

Note: The OPTIONS method is not as commonly used as the other HTTP methods, but it can be a useful tool for determining what HTTP methods are supported and getting other information about a resource before sending a request.

Want to know how much does a Cyber Security professional earns in India? Have a look at our blog on Cyber Security Salary in India now!

TRACE Method

TRACE Method

HTTP TRACE method performs a message loop-back test along the path to the target resource. This means that the server will echo back the request that it received from the client. This method can be used to troubleshoot network problems or to verify that a request is being routed correctly.

You send a request to the server with the URL of the resource that you want to test to use the TRACE method. The server will then echo back the request that it received in the response.

Here is an example of a TRACE request:

TRACE /index.html HTTP/1.1
Host: example.com

This request will mirror the received request in its response. The response body has the original request, including both the request headers and body.

When to use the TRACE method:

  • Troubleshooting a problem with a web page that is not loading correctly
  • Verifying that a request is being routed to the correct server
  • Testing a new web server configuration
  • Debugging a web application
  • Helping a user troubleshoot a problem with their network connection

Note: TRACE method can reveal sensitive information, such as the contents of request headers and bodies. Therefore, it is important to only use the TRACE method in trusted environments.

CONNECT Method

CONNECT Method

HTTP CONNECT method is used to establish a tunnel to the server identified by the target resource. This means that the server will forward all subsequent traffic between the client and the target server without inspecting or modifying it. This method is typically used to support secure connections, such as HTTPS, and to bypass web proxies.

To use the CONNECT method, you send a request to the server with the URL of the target server within the request body. The server will then establish a tunnel to the target server and issue a response with the status code 200 OK. The client can then start sending data to the target server through the tunnel.

Here is an example of a CONNECT request:

CONNECT example.com:443 HTTP/1.1
Host: example.com

This request will establish a tunnel to the HTTPS server at example.com:443. The client can then start sending data to the HTTPS server through the tunnel.

When to use the CONNECT method:

  • Establishing a secure HTTPS connection to a website
  • Bypassing a web proxy to access a blocked website
  • Connecting to an SSH server to remotely manage a computer
  • Connecting to an FTP server to transfer files

Note: While not as frequently used as other HTTP methods, the CONNECT method can prove valuable for creating secure connections, bypassing web proxies, and linking to different server types.

A Broader Perspective

While there are almost 40 registered HTTP methods, most web developers primarily use the nine core methods mentioned above. Some methods, like BIND, CHECKOUT, and MKCALENDAR, are specific to alternate protocols like WebDAV and are less common in RESTful services.

In conclusion, while the HTTP specification is vast, understanding the primary methods and their use cases is essential for effective web development.

If you have any questions on Cyber Security, ask them in our Cyber Security Community.

Frequently Asked Questions (FAQs)

What are the 5 types of HTTP requests?

The primary or most commonly-used HTTP methods are POST, GET, PUT, PATCH, and DELETE

How does HTTP request work?

An HTTP request is made by a client, to a named host, which is located on a server. 

When should I use the POST request method?

Use POST when you want to send data to a server for processing, such as submitting a form or making an online purchase.

How does PATCH differ from PUT?

PATCH is used to make partial modifications to a resource, while PUT is used to update or create a resource. It’s like editing a sentence (PATCH) versus rewriting a page (PUT).

Can I use HTTP request methods for security purposes?

Yes, understanding these methods is essential for maintaining web security and preventing potential breaches.

How do HTTP request methods impact website speed?

Efficient use of HTTP request methods can make websites faster and more responsive, enhancing the user experience.

What are the valid HTTP request types in API testing?

The most commonly used HTTP request methods are GET, POST, PUT, PATCH, and DELETE.

Course Schedule

Name Date Details
Cyber Security Course 22 Jun 2024(Sat-Sun) Weekend Batch
View Details
Cyber Security Course 29 Jun 2024(Sat-Sun) Weekend Batch
View Details
Cyber Security Course 06 Jul 2024(Sat-Sun) Weekend Batch
View Details

About the Author

Technical Lead - AWS Solutions Architect

Shivanshu is a Technical Lead and AWS Solutions Architect passionate about utilizing Cloud technology to empower businesses. Proficient in AWS, Terraform, and GCP, he crafts innovative solutions to propel companies forward. As an enthusiastic writer, he shares his expertise to inspire others in this field.