Alok Sinha | DevOps EngineerAlok Sinha | DevOps Engineer
Alok Sinha | DevOps Engineer
  • Home
  • About
  • Skills
  • Blog
  • Contact
  • Have any Questions?

    me@aloksinha.in
Alok Sinha | DevOps Engineer

Understanding HTTP Methods: A Simple Guide

  • Alok Sinha
  • February 27, 2025

When interacting with websites or apps, there’s a lot going on behind the scenes. Your browser or app communicates with a server using different HTTP methods. These methods define actions such as fetching data, submitting information, or updating resources. Here’s a breakdown of the most common HTTP methods and their functions.

HTTP Methods Overview
HTTP methods play a crucial role in maintaining clear and organized web communication. The nine most commonly used HTTP methods are GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS, TRACE, and CONNECT. Each method has a specific function in managing data exchanges between clients and servers.

1. GET Method
Purpose: Retrieve data from a server without altering it.

Example: Viewing a product list on an online store.

fetch('https://api.example.com/products?category=shoes')
.then(response => response.json())
.then(data => console.log(data));

Use Cases:

  • Loading webpages
  • Fetching API data
  • Search operations
  • Retrieving files

Best Practices:

  • Use GET for data retrieval only.
  • Keep URLs clean and short.
  • Avoid sending sensitive data.

2. POST Method
Purpose: Send data to a server, typically for creating new resources.

Example: Signing up for a newsletter.

const formData = { email: 'user@example.com' };

fetch('https://example.com/api/subscribe', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(formData)
})
.then(response => response.json())
.then(data => console.log('Subscribed:', data));

Use Cases:

  • Submitting forms
  • User authentication
  • Uploading files
  • Creating resources

3. PUT Method
Purpose: Update or replace an existing resource.

Example: Updating profile information.

const updatedProfile = { name: 'John Doe', email: 'john@example.com' };

fetch('https://example.com/api/users/123', {
method: 'PUT',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(updatedProfile)
})
.then(response => response.json())
.then(data => console.log('Profile updated:', data));

When to Use:

  • Entire resource needs updating
  • Creating a resource if it doesn’t exist

4. PATCH Method
Purpose: Make partial updates to a resource.

Example: Changing a user’s email address.

const updatedEmail = { email: 'new_email@example.com' };

fetch('https://example.com/api/users/123', {
method: 'PATCH',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify(updatedEmail)
})
.then(response => response.json())
.then(data => console.log('Email updated:', data));

When to Use:

  • Specific fields need updating
  • Avoiding full resource replacement

5. DELETE Method
Purpose: Remove a resource from the server.

Example: Deleting a user’s account.

fetch('https://example.com/api/users/123', {
method: 'DELETE'
})
.then(response => console.log('User deleted'))
.catch(error => console.error('Error:', error));

Best Practices:

  • Require authentication
  • Confirm deletion actions
  • Log deletions for accountability

6. HEAD Method
Purpose: Retrieve headers of a resource without the body.
Example: Checking the last modified date of a resource.

fetch('https://example.com/api/resource', {
method: 'HEAD'
})
.then(response => {
console.log('Headers:', response.headers);
console.log('Last Modified:', response.headers.get('Last-Modified'));
});

Use Cases:

  • Checking resource availability
  • Validating cache

7. OPTIONS Method
Purpose: Determine allowed communication options for a resource.

Example: Discovering supported HTTP methods.

fetch('https://example.com/api/resource', {
method: 'OPTIONS'
})
.then(response => {
const allowedMethods = response.headers.get('Allow');
console.log('Allowed methods:', allowedMethods);
});

Use Cases:

  • Determining available HTTP methods
  • CORS preflight requests

8. TRACE Method
Purpose: Echo back the received request for debugging purposes.

Note: Often disabled due to security risks.

9. CONNECT Method
Purpose: Establish a tunnel to the server, mainly used for secure connections like HTTPS.

Use Cases:

  • Secure encrypted communication through proxies
  • Establishing VPNs

Security Considerations:

  • Handle tunneling securely
  • Monitor unauthorized usage

Conclusion

Understanding HTTP methods is key to developing and using web applications effectively. Each method has a specific role, whether it’s retrieving data, sending updates, or maintaining secure connections. Choosing the appropriate method ensures efficient, safe, and reliable web interactions.

Alok%20Sinha%20|%20DevOps%20Engineer

Alok Sinha

I am a DevOps Engineer with over 5 years of experience. I am passionate about helping digital organizations deliver better software, faster. With a strong background in various technology roles, I focus on automating processes and fostering collaboration between development and IT teams.

Share:

Previus Post
Debugging Linux
Next Post
What is

Leave a comment

Cancel reply

Recent Post

  • 08 April, 2025What is Load Balancing?
  • 27 February, 2025Understanding HTTP Methods: A Simple Guide
  • 06 February, 2025Debugging Linux Processes Like an SRE

category list

  • DevOps (15)
  • Tech Tips & Tutorials (12)
  • Technology (11)