Host-Header 
Vor dem Überblick der einzelnen Szenarios und den Auswirkungen auf die Konfigurationstabelle wird beschrieben, wie der Browser den Host-Header setzt.
Wenn ein Request vom Server geholt wird, wird die URL komplett in den Browser geschrieben, inklusive Protokoll (HTTP), dem vollen Host-Namen, Port und Pfad. Jedoch schickt das HTTP-Protokoll selbst einen leicht unterschiedlichen Request ab.
Beispiel
GET / HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Accept-Language: de,en-us;q=0.5
Host: intranet.sap.com
User-Agent: Mozilla/4.0 (compatible; MSIE 5.5; Windows NT 5.0)
Hier enthält die Request-Zeile die HTTP-Angabe und den benötigten Pfad (im vorliegenden Beispiel ist dies GET /). Zusätzlich wird ein Host-Header gesetzt, der den vollen Server-Namen enthält, den der Browser als seinen Kommunikationspartner ansieht. Wenn die URL auf einen nicht-Standard-Port zeigt (HTTP verwendet standardmäßig Port 80 und HTTPS Port 443), dann wird er auch Bestandteil des Host-Headers sein. Der Host-Header reflektiert also den Namen, den der Browser verwendet, um den Server zu erreichen, das ist der Name, von dem der Browser annimmt, dass er auch Gültigkeit besitzt. Es muss nicht der tatsächliche Name der Servers sein.
Hinweis
Wenn ein Application Gateway, Load-Balancer oder Reverse Proxy verwendet wird, muss er den Host-Header beibehalten und darf diesen Host-Header nicht umschreiben.
Beachten Sie, dass insbesondere bei Apache-Reverse Proxies dieses Feature erst ab Version 2 zur Verfügung steht (Konfigurationsoption ProxyPreserveHost).