The HTTP headers are used to pass additional information between the clients and the server through the request and response header. All the headers are case-insensitive, headers fields are separated by colon, key-value pairs in clear-text string format. The end of the header section denoted by an empty field header. There are a few header fields that can contain the comments. And a few headers can contain quality(q) key-value pairs that separated by an equal sign.
There are four kinds of headers context-wise:
- General Header: This type of headers applied on Request and Response headers both but with out affecting the database body.
- Request Header: This type of headers contains information about the fetched request by the client.
- Response Header: This type of headers contains the location of the source that has been requested by the client.
- Entity Header: This type of headers contains the information about the body of the resources like MIME type, Content-length.
Headers can also be categorized according to how proxies handle them:
Header Description Athorization It is used to request restricted documents. Proxy-Authenticate It is a response header gives access to a resource file by defining an authorization method. It allows the proxy server to transmit the request further by authenticating it. Proxy-Authorization It is a request type of header. This header contains the credentials to authenticate between the user agent and the user-specified server. WWW-Authenticate It is a response header that defines the authentication method. It should be used to gain access to a resource.
Header Description Age It is a response header. It defines the times in seconds of the object that have been in the proxy cache. Cache-Control It is a general type header used to specify directives for caching mechanisms. Clear-Site-Data It is a response-type header. This header is used in deleting the browsing data which is in the requesting website. Expires It is a response-type header, it is used to define date/time after after that time that will be vanished. Pragma It is general-type header, but response behavior is not specified and thus implementation-specific. Warnings It is a general type header that is used to inform possible problems to the client.
- Client hints
Header Description Accept-CH It is a response-type header. It specify which Client Hints headers client should include in subsequent requests. Accept-CH-Lifetime It is a response-type header used to specify persistence of Accept-CH header value. Content-DPR It is a response-type header. It is used to define the ratio between physical pixels over CSS pixels of the selected image response. DPR It is response-type header, It is used to defines the ratio of the physical pixels over the CSS pixels of the current window of the device. Device-Memory It is used to specify the approximate ram left on the client device. Early-Data It is a request-type header. This header is used indicate that the request has been conveyed in early data. Save-Data It is used to reduce the usage of the data on the client side. Viewport-Width It is used to indicates the layout viewport width in CSS pixels. Width It is a request-type header. This header is used indicates the desired resource width in physical pixels.
Header Description Last-Modified The last modified response header is a header sent by the server specifying the date of the last modification of the requested source. This is the formal definition of Last-Modified of HTTP headers ETag It is a response-type header used as an identifier for a specific version of a resource. If-Match It is a request-type header. It is used to make the rquest conditional. If-None-Match It is a request-type header. Generally, it is used to update the entity tags on the server. Firstly, the Client provides the Server with a set of entity tags (E-tags). If-Modified-Since It is a request-type header. This header is used make the request conditional plus expects the entity to be transmitted, if it has been modified after the specified date. If-Unmodified-Since It is a request-type header. This header is used make the request conditional plus expects the entity to be transmitted, if it has been unmodified after the specified date. Vary It is response-type header. It is used by the server to indicate which headers it used when selecting a representation of a resource in a content negotiation algorithm.
- Connection management
Header Description Connection It is a general type header that allows the sender or client to specify options that are desired for that particular connection. Keep-Alive It is a general-type header used to inform that how long a persistent connection should stay open.
- Content negotiation
Header Description Accept It is a request type header. The Accept header is used to inform the server by the client that which content type is understandable by the client expressed as MIME-types. Accept-charset It is a request type header. This header is used to indicate what character set are acceptable for the response from the server. Accept-Encoding It is a response-type header. It is usually a comparison algorithm of request header. All the HTTP client used to tell the server which encoding or encoding it supports. Accept-Language It is a request-type header that tells the server about all the languages that the client can understand.
Header Description Expect It is a request type header. It is used to indicate specific behaviors or expectations that the server needs to fulfill in order to respond to the client. Generally, Expect: 100-continue is the only expectation defined for the header field.
Header Description Cookie It is a request type header. A cookie used in the requests sent by the user to the server. Set-Cookie It is a response header and used to send cookies from the server to the user agent. So the user agent can send them back to the server later so the server can detect the user. Cookie2 It is a request type header. A cookie2 used in the requests sent by the user to the server. Set-Cookie2 It is response type header and it is obsoleted. It is a provider of the mechanism to serve and retrieve state information from the client to the server.
Header Description Access-Control-Allow-Origin
- Do Not Track
Header Description DNT It is a request type header. It lets users indicate whether they would prefer privacy rather than personalized content. TK It is a response type header, it indicates the tracking status.
Header Description Content-Disposition It is a response type header for the body. It lets users indicate resource transmitted should be displayed inline or should be download and present a “Save As” dialog.
- Message body information
Header Description Content-Length It is a response type header. It is used to indicate the size of entity-body in decimal no of octets i.e. bytes and sent it to the recipient. It is a forbidden header name. Content-Type It is a entity type header. It is used to indicate the media type of the resource. The media type is a string sent along with the file indicating the format of the file. Content-Encoding It is a response type header. It is used to compress the media type. It informers the server which encoding the user will supported. Content-Language It is an entity type header. It is used to define, which language speaker document is intended to. It doesn’t define the language of the document. Content-Location It is an entity type header that gives another location for the data that is returned and also tells how to access the resource by indicating the direct URL.
Header Description Forwarded It is a request-type header. It is used to store client-facing side of proxy servers that is lost when a proxy is involved in the path of the request. X-Forwarded-For It is a request type header and is an alternative and de-facto standard version of the Forwarded header which is used when a client connects to a web server through an HTTP proxy or load balancer for identifying the original IP address. X-Forwarded-Host It is a request-type header. It is used to identify the original host requested by the client in the Host HTTP request header. X-Forwarded-Proto It is an request-type header. It is used to identifying the protocol that the client used to connect with a proxy or load balancer. It can be HTTP or HTTPS. Via It is an general-type header that is used to inform the server of proxies through which the request was sent.
Header Description Location It is a response header that is used under 2 circumstances to ask a browser to redirect a URL (status code 3xx) or provide information about the location of a newly created resource (status code of 201).
- Request context
Header Description From It is a request-type header that is used to contains an Internet email address for a human user who controls the requesting user agent. Host It is a request-type header. It is use to represent the domain name of the server. It may also represent the Transmission Control Protocol (TCP) port number which the server uses. Referer It is a request type header. This is use to hold the previous page link where this new page come, that the back button of the browsers can work. Referrer-Policy It is a response type header. It is used to define how much referrer information should be included with the requests. User-Agent It is a request header that allows a characteristic string that allows network protocol peers to identify the Operating System and Browser of the web-server.
- Range requests
Header Description Accept-Ranges It is the response-type header also the part of the ranges system. This header act as a marker that is used by the server to supports the partial request of the clients. Range It is request-type header that is used to get part of a document from the server. If the server returns the part of the document, it uses the 206 (Partial Content) status code. If-Range It is a request type header. This is use to makea a range request conditional. Content-Range It is a response header that indicates where a partial message belongs in a full body massage.
Header Description Cross-Origin-Resource-Policy It is the response-type header and inform the client that the browser blocks no-cors cross-origin/cross-site requests to the given resource. Content-Security-Policy It is response-type header that is used to allows web site administrators to control resources. Content-Security-Policy-Report-Only It is a esponse header that allows the web developers to test the policies by keeping an eye on their effects. Expect-CT It is is a response header that prevents the usage of wrongly issued certificates for a site and makes sure that they do not go unnoticed. Feature-Policy It is a response type header that is used to allow or deny the use of features on it’s own frame. Public-Key-Pins It is a response header. It is associates a specific cryptographic public key with a certain web server. Public-Key-Pins-Report-Only It is a response type header. It is used to report to the repot-uri. Strict-Transport-Security It is a response type header. That is a web security policy mechanism that helps protect websites from malicious activities and informs user agents and web browsers how to handle its connection through a response header. Upgrade-Insecure-Requests It is a request type header. It sends a signal to the server expressing the client’s preference for an encrypted and authenticated response X-Content-Type-Options It is a response type header. It acts as a marker that indicates the MIME-types headers in the content types headers should not be changed to the server. X-Frame-Options It is a response header. It is used to prevent the site from click jacking attacks. It defines whether or not a browser should be allowed to render a page in a <frame>, <iframe>, <embed> or <object>. X-XSS-Protection It is a response-type header. It is used to enable the cross-site scripting filtering.
- Transfer coding
Header Description Transfer-Encoding It is a response-type header that performs as the hop-by-hop header, the hop-by-hop header connection is the single transport-level connection must not be re-transmitted. TE It is request-type header that is used to specifie the transfer encodings the user agent is willing to accept. Trailer It is a response header that indicates the given set of header fields is present in the trailer of a message encoded with chunked transfer-coding.
Header Description Sec-WebSocket-Accept It is response-type headers category. This used by the server to intimate the client that it understood it was a WebSocket connection and it is ready to open connection.
- Other headers
Ent-to-End headers: This type of headers should be transmitted to the final recipient of the message so the server can make a request to the clients and the client can respond to that requests. The intermediate proxies must retransmit these headers as unmodified.
Hop-by-Hop headers: This type of headers only works for the single transport-level connection. This kind of harder should not be retransmitted by the proxies or cached.
My Personal Notes arrow_drop_up
- HTTP headers | Access-Control-Expose-Headers
- HTTP headers | Access-Control-Allow-Headers.
- HTTP headers | Age
- HTTP headers | Via
- HTTP headers | Allow
- HTTP Headers | TE
- HTTP headers | Want-Digest
- HTTP headers | Last-Modified
- HTTP headers | Expect
- HTTP headers | Cookie
- HTTP headers | Date
- HTTP headers | Range
- HTTP headers | Set-Cookie
- HTTP headers | Retry-After
- HTTP headers | Digest
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.
HTTP headers Categorie: There are so many headers categorise into different different categories.