# HTTP Headers

## General Headers

* **Cache-Control**
  * Directives for caching mechanisms in both requests and responses.
* **Connection**
  * Controls whether the network connection stays open after the current transaction finishes.
* **Date**
  * Contains the date and time at which the message was originated.
* **Via**
  * Added by proxies, both forward and reverse proxies, and can appear in the request headers and the response headers.

## Request Headers

* **Accept**
  * Informs the server about the types of data that can be sent back.
* **Accept-Language**
  * Informs the server about the human language the server is expected to send back. This is a hint and is not necessarily under the full control of the user: the server should always pay attention not to override an explicit user choice (like selecting a language from a dropdown).
* **Authorization**
  * Contains the credentials to authenticate a user-agent with a server.
* **Host**
  * Specifies the domain name of the server (for virtual hosting), and (optionally) the TCP port number on which the server is listening.
* **Referer**
  * The address of the previous web page from which a link to the currently requested page was followed.
* **User-Agent**
  * Contains a characteristic string that allows the network protocol peers to identify the application type, operating system, software vendor or software version of the requesting software user agent.

## Response Headers

* **Location**
  * Indicates the URL to redirect a page to.
* **Server**
  * Contains information about the software used by the origin server to handle the request.

## Entity Headers

* **Allow**
  * Lists the set of HTTP request methods supported by a resource.
* **Content-Length**
  * The size of the resource, in decimal number of bytes.
* **Content-Type**
  * Indicates the media type of the resource.

## Reference

{% embed url="<https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers>" %}
HTTP headers - MDN
{% endembed %}
