← All headersRequest header

What is a Host header?

The domain name and port of the server the request is being sent to - required on every HTTP/1.1 request.

Host is the one header every HTTP/1.1 request must include, and it's what lets a single server or CDN edge serve completely different websites from the same IP address via name-based virtual hosting. A misconfigured Host check on the server side is a classic cause of a website returning the wrong content, or nothing at all, for a domain that should be working fine - exactly the kind of routing mistake that a monitor hitting the site by its real public hostname (rather than an internal address) will catch.

Common use case

A single web server or CDN edge IP hosts dozens of unrelated domains, using the Host header on each incoming request to route it to the correct site's configuration.

Example

Host: kawze.com

History

Introduced in HTTP/1.1 (RFC 2068, 1997) specifically to enable name-based virtual hosting, which HTTP/1.0's IP-only routing couldn't support.

Did you know?

Before Host existed, every website needed its own dedicated IP address - its introduction is a big part of why shared web hosting became commercially viable at scale.