Host Header

Ein Host Header ist der von einem HTTP-Client als Bestandteil der HTTP-Headers gesendete Hostname. Er kann von einem HTTP-Server zur Unterscheidung virtueller Hosts genutzt werden und dient damit im weiteren Sinne der Namensauflösung.

Diese namensbasierte Unterscheidung virtueller Hosts hat (gegenüber IP-basierten virtuellen Hosts) den Vorteil, dass Websites unterschiedlichen Namens

  • unter einer gemeinsamen IP-Adresse (und unter einem gemeinsamen Port) betrieben werden können
  • dennoch inhaltlich voneinander getrennt verwaltet werden können

und ist damit eine Möglichkeit, einem Engpass an IP-Adressen zu begegnen.

Zur Unterscheidung wertet der (entsprechend zu konfigurierende) Webserver den im Request enthaltenen Host: Header aus.

Konfiguration

Neben der Anpassung der Konfiguration des Webservers ist darauf zu achten, dass der DNS-Server jedem der unterschiedlichen Hostnamen die richtige (in diesem Fall gleiche) IP-Adresse zuordnen muss.

Grenzen

  • Einige ältere Http-Clients sind nicht kompatibel zu namensbasierten virtuellen Hosts. Wenn auch solche Clients bedient werden sollen, müssen zusätzliche Maßnahmen getroffen werden.
  • Bei SSL/TLS nutzenden Servern ist die Verwendung von Server Name Indication notwendig.
  • Einige Techniken des Bandbreiten-Managements funktionieren nur, wenn unterschiedliche Hosts auch unterschiedliche IP-Adressen haben.

Weblinks