> ## Documentation Index
> Fetch the complete documentation index at: https://akshanshgusain.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Application Layer Protocols

> Introduction to Layer 7 Protocol HTTP

## Hypertext transfer protocol (HTTP)

HTTP is a method for encoding and transporting data between a client and a server. It is a request/response protocol:
clients issue requests, and servers issue responses with relevant content and completion status info about the request.
HTTP is self-contained, allowing requests and responses to flow through many intermediate routers and servers that
perform load balancing, caching, encryption, and compression.

A basic HTTP request consists of a verb (method) and a resource (endpoint). Below are common HTTP verbs:

| Verb   | Description                                               | Idempotent\* | Safe | Cacheable                               |
| :----- | :-------------------------------------------------------- | :----------- | :--- | :-------------------------------------- |
| GET    | Reads a resource                                          | Yes          | Yes  | Yes                                     |
| POST   | Creates a resource or trigger a process that handles data | No           | No   | Yes if response contains freshness info |
| PUT    | Creates or replace a resource                             | Yes          | No   | No                                      |
| PATCH  | Partially updates a resource                              | No           | No   | Yes if response contains freshness info |
| DELETE | Deletes a resource                                        | Yes          | No   | No                                      |

**HTTP is an application layer protocol relying on lower-level protocols such as TCP and UDP.**
