Networking

如何通過其 IP 地址訪問 URL?

  • August 20, 2015

http://example.com的 IP 地址為 93.184.216.34。

根據我所讀到的有關 IP 地址和埠的資訊,這讓我相信將埠 80 附加到它的末尾(93.184.216.34:80)也應該載入相同的頁面。然而,它給了我一個 404 Not Found 錯誤。

為什麼我無法通過其 IP 地址訪問http://example.com ?

HTTP 協議允許客戶端應用程序(通常是 Web 瀏覽器)創建包含它想要聯繫的網站名稱的 HTTP 請求;這允許多個網站在相同的 IP 地址和埠上共存。

所有 Web 伺服器都可以配置為根據客戶端請求的網站名稱提供不同的內容;此外,他們可以有一個預設網站,如果請求沒有明確指定任何主機名,則使用該網站。

在您的情況下,您(您的瀏覽器)在沒有指定主機名的情況下聯繫 Web 伺服器,因為您在 URL 中使用了伺服器 IP 地址;似乎 Web 伺服器未配置為處理此類請求,因此它返回錯誤。

大多數 Web 瀏覽器會自動使用您在 URL 中指定的任何內容作為請求的主機名(如果您使用 IP 地址,則不使用任何內容);因此您無法控制實際發出的請求。一些開發人員工具允許您執行自定義請求,或者您可以通過連接到目標伺服器上的 TCP 埠 80(甚至使用像telnet. 例如,這個(精簡的)請求從網站 example.com 返回正確的頁面:

GET / HTTP/1.1
Host: example.com

/它的基本意思是“將路徑(網站根目錄)的內容提供給我example.com”。

引用自:https://serverfault.com/questions/715542