web-dev-qa-db-ja.com

サイトのIPアドレスを入力すると別のサイトが表示されるのはなぜですか?

ドメインがIPアドレスに接続される方法がわかりません。特定のドメイン、たとえばexample.com。 ping example.comを実行し、DNSクエリからIPアドレスを取得します。

ブラウザのアドレス行にこのIPを入力すると、別のサイトに移動します。発生する可能性のある理由を説明してください。

1
user87035

ブラウザがWebサイトをロードするために使用されるHTTPプロトコルは、ブラウザのURLバーに入力されたホスト名をサーバーに伝える「ホスト」ヘッダーをサポートしています。これにより、同じサーバー(同じIP)が異なるWebサイトを処理できます。

www1.example.comwww2.example.com both127.0.0.42に解決されると想像してください。

ポート80の127.0.0.42上のサーバーは、HTTP要求をリッスンします。ブラウザでhttp://www1.example.comを開くと、ブラウザは127.0.0.42:80に接続し、Host: www1.example.comヘッダーをリクエストとともに送信します。これにより、サーバーはwww1.example.comのサイトを提供できます。

http://www2.example.comと入力すると、ブラウザは127.0.0.42:80にも接続しますが、今回はHost: www2.example.comヘッダーを設定するため、サーバーは、今回は他のページにサービスを提供する必要があることを認識します。

ブラウザでhttp://127.0.0.42を開くと、サーバーはリクエストとともにHost: 127.0.0.42ヘッダーを取得します。今回は、サーバーはどのサイトを提供するかを知らない可能性があるため、エラーが表示されるか、デフォルトのWebサイトにフォールバックする可能性があります。ホスト名の代わりにIPを参照すると、別のサイトが表示される場合があるのはこのためです。

4
xsrf