> For the complete documentation index, see [llms.txt](https://hanfak.gitbook.io/workspace/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hanfak.gitbook.io/workspace/networks/http.md).

# HTTP - Hyper Text Transfer Protocol

* HTTP is a protocol that is an abstraction built on top of TCP/IP.
* Implements the request-response pattern, specifically for client-server interactions.
  * A client is simply a machine or system that requests information
  * a server is the machine or system that responds with information.
  * A browser is a client, and a web-server is a server.
  * When a server requests data from another server then the first server is also a client, and the second server is the server
  * this request-response cycle has its own rules under HTTP and this standardizes how information is transmitted across the internet.
* HTTP, requests and responses have headers and bodies
* HTTP requests and responses can be thought of as messages with key-value pairs
* HTTP also comes with some "verbs" or "methods" which are commands that give you an idea of what sort of operation is intended to be performed.
  * "GET", "POST", "PUT", "DELETE" and "PATCH" etc

    \-

## Link

* <https://www.youtube.com/watch?v=0OrmKCB0UrQ>  (Hussein Nasser intro)
