質問: Aレコード等で一つのIPアドレスに対して、複数のドメインが存在するとき(ユースケースとしてはレンタルサーバ上の複数のアプリケーションを主に考えています)、IPアドレスからアクセスすると、どのように解決が行われるのでしょうか? すなわち、あるIPアドレス(1.2.3.4)に二つのドメイン(www.hoge.comとwww.fuga.com)が定義されている時って、IPアドレスにアクセスするとどうなるのでしょうか? そのネットワークのDNSの実装に依存する、というのが回答になりそうな気はしているのですが、普通は交互に振り分けたりするものなのでしょうか?
回答: 「同じIPアドレス」ということは、そこで待ち受けるHTTPサーバは**1つだけ**となります(ポートを変更しない場合)。 HTTP/1.1の場合、`Host:`というヘッダが必須になっています。ドメイン名でのHTTPアクセスはHTTPサーバでで切り分けることとなりますが、`http://192.0.2.4/`のようにIPアドレスでアクセスした場合、`Host:`にもIPアドレスが入って、そこから先は**サーバプログラム次第**ということになります。「デフォルトのサーバに流してしまう」「404でエラーにする」など、実装も各種考えられます。 なお、HTTPSの場合、接続にあたってドメインに合わせた証明書が必要になるので、「SNI」という仕組みでアクセスしたドメインを識別します。ドメイン無しでIPアドレスでアクセスしてきた場合も、理論上は適切な証明書を割り当てればHTTPSアクセスを続けられますが、実運用上はIPアドレス名の証明書を設定していることがほぼないので、コモンネームの不一致で接続に失敗することになると思います。