如何擁有一個 IP 地址和多個網站?
如果我有一個位於 Internet 上的 IP 地址但有多個 Web 名稱,我如何才能擁有它?例如,當一家託管公司擁有一個共享 IP 但我獲得了無限的域名(以及該框中的其他所有人)。
我在網際網路上有一個盒子,但是當有人輸入不同的 www 時,我想指向另一台擁有不同網站的機器……(它就在它旁邊,只是在一個不同的盒子裡)。這都是子域嗎?謝謝你。
我是託管公司
它是 HTTP 1.1 協議的一部分。
具體來說,HTTP 1.1 協議包含一個名為“host:”的標頭,它指定客戶端嘗試訪問的特定伺服器上的哪個網站。
因此,如果 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 伺服器知道需要哪個虛擬網站。
RFC2616中還有更多內容。
這也是為什麼 https 站點必須**有自己的 IP 地址的原因——ssl 密鑰交換和證書驗證發生在 http 交易之前,因此 http 伺服器不會知道為“woodstock.org”提供證書或“snoopy.net”,當它在 192.0.32.10 的埠 443 上接收到 https 連接時。
編輯
** 在評論中Grawity指出,TLS 規範中有 SSL 擴展,允許伺服器知道使用者試圖訪問哪個網站,並且大多數現代 Web 瀏覽器都有這些擴展,所以must也有點強的。