Ctrl + K
Web8 min read

How HTTP Headers Work

Understand HTTP headers, request headers, response headers and common real-world examples.

Published: 2026-06-22

Every time you open a website, submit a form, call an API or download a file, HTTP headers are exchanged between your browser and a server. Most developers interact with headers regularly, yet many beginners are unsure what they actually do. Understanding HTTP headers is important because they influence authentication, caching, security, content delivery and many other aspects of modern web applications.

What Are HTTP Headers?

HTTP headers are small pieces of metadata sent alongside HTTP requests and responses. They provide additional information about the request, the response, the client or the server without being part of the actual content being transferred.

Think of HTTP headers as labels attached to a package. The package contains the actual content, while the labels provide instructions about how it should be handled, where it came from and how it should be delivered.

Where Headers Appear

Headers appear in both HTTP requests and HTTP responses.

A request header is sent from the client to the server. A response header is sent from the server back to the client.

A typical web request contains three main parts:

GET /products HTTP/1.1


Host: example.com
User-Agent: Chrome
Accept: application/json

The first line is the request line, the next lines are headers and an optional body may follow after them.

Request Headers

Request headers provide information about the client and the requested resource. Browsers, mobile applications and APIs all send request headers.

One of the most common request headers is Host, which tells the server which domain is being requested.

Host: example.com

Another common header is User-Agent, which identifies the client making the request.

User-Agent: Mozilla/5.0

Servers often use User-Agent information to provide browser-specific functionality or gather analytics data.

Response Headers

Response headers provide information about the server response. They tell the browser how the returned content should be handled.

HTTP/1.1 200 OK


Content-Type: application/json
Content-Length: 512

In this example, the Content-Type header tells the browser that the response contains JSON data.

Without the correct Content-Type header, browsers may not know how to process the response correctly.

Common HTTP Headers

Some headers appear so frequently that nearly every developer encounters them.

Content-Type

Content-Type specifies the format of the content being sent.

Content-Type: application/json

Other common values include text/html, text/plain, image/png and application/xml.

Authorization

Authorization headers are commonly used for API authentication.

Authorization: Bearer eyJhbGciOi...

JWT tokens and API keys are often transmitted through this header.

Accept

Accept tells the server which response formats the client can handle.

Accept: application/json

An API client might request JSON while a browser may accept HTML, images and other resource types.

Cookie

The Cookie header sends previously stored cookies to the server.

Cookie: sessionId=abc123

Cookies are frequently used for sessions, authentication and personalization.

Cache-Control

Cache-Control determines how long content can be stored by browsers and intermediary caches.

Cache-Control: max-age=3600

This example allows caching for one hour.

Security Headers

Many HTTP headers are specifically designed to improve security.

One important example is Content-Security-Policy (CSP), which restricts which resources a page can load.

Content-Security-Policy: default-src 'self'

CSP helps reduce the risk of cross-site scripting attacks by limiting trusted sources.

Another important header is Strict-Transport-Security (HSTS), which forces browsers to use HTTPS connections.

Strict-Transport-Security: max-age=31536000

Security headers have become a standard part of modern web application deployment.

Headers in APIs

Headers are especially important in APIs. They often control authentication, rate limiting, content negotiation and versioning.

For example, an API might require an Authorization header and return custom rate-limit headers.

X-RateLimit-Limit: 100


X-RateLimit-Remaining: 73

These headers allow clients to monitor how many requests remain before hitting a limit.

Custom Headers

Developers can create custom headers for application-specific functionality.

X-Client-Version: 2.1.0

Custom headers are useful when applications need to exchange metadata that is not covered by standard HTTP headers.

How to Inspect Headers

Modern browsers make it easy to inspect HTTP headers.

Open Developer Tools, navigate to the Network tab and select a request. You will see all request headers, response headers, cookies and related information.

Tools like Postman, cURL and API testing platforms also provide detailed header inspection capabilities.

Common Mistakes

A frequent beginner mistake is forgetting to set Content-Type when sending JSON data. Without it, the server may not understand the request body correctly.

Another common issue is exposing sensitive information in custom headers or transmitting authentication tokens over unsecured HTTP connections.

Improper cache headers can also create unexpected behavior, causing users to receive outdated content.

Conclusion

HTTP headers are a fundamental part of web communication. They carry metadata that controls how requests and responses are processed, cached, authenticated and secured. Whether you are building websites, APIs or web applications, understanding HTTP headers will help you debug issues faster, improve security and create more reliable systems.

Related Tools