回答:
HTTP 1.1プロトコルの一部です。
具体的には、HTTP 1.1プロトコルには、「host:」というヘッダーが含まれています。これは、クライアントがアクセスしようとしている特定のサーバー上のWebサイトを指定します。
したがって、snoopy.netとwoodstock.orgの両方が192.0.32.10を共有し、ブラウザがhttp://snoopy.net/doghouse
特定のhttpリクエストからコンテンツを取得しようとしている場合は次のようになります。
GET /doghouse HTTP/1.1
Host: snoopy.net
目的のURLがhttp://woodstock.org/seeds
リクエストの場合、次のようになります
GET /seeds HTTP/1.1
Host: woodstock.org
どちらの場合も、コンピューターとサーバーのポート80の間にtcpソケットがあります。サーバーは、Hostヘッダーに基づいて/var/www/snoopy.netまたは/var/www/woodstock.org/からコンテンツを取得することを知っています。
Cookieやブラウザの種類や許可されたコンテンツなどの他のヘッダーがありますが、「ホスト」ヘッダーにより、Webサーバーはどの仮想Webサイトが望ましいかを知ることができます。
これは、httpsサイトが独自のIPアドレスを持たなければならない理由でもあります。httpトランザクションの前にSSL鍵交換と証明書検証が行われるため、httpサーバーは「woodstock。 org」または「snoopy.net」が192.0.32.10のポート443でhttps接続を受信した場合。
編集する
**コメントでGrawityは、サーバがアクセスしようとしているウェブサイトのユーザーを知ることができTLS仕様でのSSLの拡張機能があることを指摘し、そのため、最新のWebブラウザでは、これらの拡張機能を持っていることを必須が少しもあります強い。
「Host:」ヘッダーと呼ばれる、すべての最新のブラウザーがリクエストとともに送信するものがあります。
このページに対してfirefoxが送信する実際のリクエストは次のとおりです。
ホスト:superuser.com ユーザーエージェント:Mozilla / 5.0(Windows; U; Windows NT 6.0; en-US; rv:1.9.1.7)Gecko / 20091221 Firefox / 3.5.7(.NET CLR 3.5.30729) 受け入れる:text / html、application / xhtml + xml、application / xml; q = 0.9、* / *; q = 0.8 Accept-Language:en-us、en; q = 0.5 Accept-Encoding:gzip、deflate Accept-Charset:ISO-8859-1、utf-8; q = 0.7、*; q = 0.7 キープアライブ:300 接続:キープアライブ
ご覧のとおり、
ホスト:superuser.comビットは問題のウェブサイトを識別します。
特定の問題に関しては、特定のホスティング会社がどのように構成を要求するかについて調べる必要があります。
単一のIPアドレス/ホストで複数のドメイン/サブドメインをホストする技術は、仮想ホストと呼ばれます。http getリクエストには、Webサーバーがリクエストを特定の仮想ドメインと照合できるようにするリクエストのドメイン名が含まれています。
内部に複数の物理ホストがあり、外部IPが1つだけの場合は、要求を正しいマシン/内部IPアドレスに転送するリバースプロキシの設定を検討する必要があります。
ウェブサーバー上の機能は、通常「仮想ホスト」と呼ばれます。dnsエントリをポイントしてそのIPアドレスをポイントすると(他の回答で述べたように)、サーバーは要求されたホストが何であるかに応じて異なるサイトをサーバーします。
別のボックスを指す限りです。最初にクエリを取得する予定の場合は、ほとんどのWebサーバーでリダイレクトを構成できます。サブドメインについて話している場合は、各サブドメインを異なるIPアドレスにポイントするだけです。
すなわち、host.com-> IP 1、次にwww.host.com-> IP 2およびmail.host.com-> IP 3
より具体的な回答が必要な場合は、実行しているオペレーティングシステム上のWebサーバーソフトウェアを指定する必要があります。
この質問には、ServeFaultの方が適している場合があります。
2番目のWebサイト用に個別の物理サーバーを持っているように思われます。その場合、2つのサーバーに単一のIPアドレスを使用することはできません。a)2番目のホストの2番目のパブリックIPアドレスを取得するか、b)ホストヘッダーに基づいてリクエストを内部ネットワーク上の別のサーバーに転送するスマートプロキシを設定できます。b)が可能だと確信していますが、それがどのように機能するかについての本当の考えはないので、他の誰かにそれがあなたがやろうとしていることかどうか尋ねる必要があります。