Hostヘッダ 【Host: header】
概要
Hostヘッダ(Host: header)とは、HTTPヘッダのフィールド(項目)の一つで、クライアントからサーバにアクセス先のホスト名とポート番号を通知するもの。HTTPリクエストヘッダに用いられる。「Host: ホスト名:ポート番号」という書式で、「Host: www.example.jp:443」のように指定する。ポート番号が省略された場合は標準のポート(HTTP接続なら80番ポート、HTTPS接続なら443番ポート)とみなされる。
一つのサーバに複数のIPアドレスが割り当てられている場合や、一つのIPアドレスに複数のホスト名(ドメイン名を含むFQDN)を対応付けている場合、WebサーバはクライアントからのHTTPリクエストを見てもどのホスト宛てなのか判別できない。
Hostヘッダを書き加えることで、サーバはどのホスト名のどのポート向けのリクエストなのかを見分けることができ、一台のサーバが外部に対して複数のホストとして振る舞うことができる。この仕組みを「仮想ホスト」(バーチャルホスト)という。HTTP/1.1以降ではHostヘッダの指定は必須となっており、欠けている場合は正しいリクエストとみなされない(400 Bad Requestエラーとなる)。
(2023.7.20更新)