當您(或您的計算機)呼叫一個 IP 地址時,您通常是在嘗試聯系互聯網上的另一台計算機。 但是,如果您調用 IP 地址 127.0.0.1,那麼您正在與 localhost 進行通信 – 原則上是與您自己的計算機進行通信。 但是與自己開始虛拟對話有什麼意義呢? 您需要 localhost 做什麼以及它是如何工作的?
Localhost (127.0.0.1)
什麼是本地主機?在解釋什麼是 localhost 時要說明的第一點是,它始終是您自己的計算機:當您調用 localhost 時,您的計算機正在與自己對話。然而,這是一種濃縮的方法。本地主機并不總是與您的計算機直接識别。在大多數情況下,它有一個單獨的 IP 地址,例如 192.168.0.1。在您的個人網絡中,這與您在 Internet 上使用的網絡不同,通常由 Internet 服務提供商動态分配。當您談論本地主機時,您指的是在您自己的計算機上使用服務器時。
相反,這意味着該術語僅在網絡上下文中使用。 “本地主機”不僅是虛拟服務器的名稱,也是它的域名。就像 .test、.example 或 .invalid 一樣,.localhost 是為文檔和測試目的而保留的頂級域。當您嘗試訪問域時,會觸發環回。如果您在浏覽器中訪問“http://localhost”,請求将不會通過路由器轉發到 Internet,而是保留在您自己的系統中。 localhost 的 IP 地址為 127.0.0.1,它指的是您自己的服務器。
127.0.0.1 – 環回如何工作?IP 地址在網絡内用于相互通信。網絡中的每個參與者都有自己的地址。使用該系統時,通過 TCP/IP 發送的數據包能夠到達正确的目的地。協議對傳輸控制協議 (TCP) 和互聯網協議 (IP) 是互聯網的一些基石。但是,TCP/IP 也用于 Internet 之外的本地網絡中。在傳輸過程中,互聯網協議負責允許 IP 地址和子網掩碼尋址網絡中的用戶。
公共 IP 地址(可以通過互聯網訪問的地址)的分配由一個國際組織監管:互聯網名稱與數字地址分配機構 (ICANN)。 ICANN 還負責域名或域名系統 (DNS) 的分配。但是,某些地址範圍是為特殊目的而保留的,例如從 127.0.0.0 到 127.255.255.255 的範圍。沒有關于為什麼選擇該範圍的可靠信息,但您可以自由推測。
直到 1990 年代,互聯網上的 IP 地址被劃分為不同的類别。第一類(A 類)以 0.0.0.0 開始(這個地址也是保留的),以 127.255.255.255 結束。 127 是 A 類網絡中的最後一個塊。這個重要的職位可能是它被選中的原因。
可以在此地址範圍内設置 Localnet。這個範圍的特别之處不僅在于它是由 ICANN 保留的,而且它的 IP 地址也不是唯一分配的,這通常是這種情況。但它是如何工作的?
例如,如果您在浏覽器中輸入 IP 地址(或相應的域名),路由器會将您的請求轉發到互聯網和正确的服務器。 這意味着如果您輸入 172.217.0.0,您将到達 Google 主頁。 但是,情況與 127.0.0.1 不同,因為對該地址的請求不會被轉發到 Internet。 TCP/IP 從第一個塊 (127) 中識别出您不想訪問 Internet,而是在呼叫自己。 然後這會觸發環回。
事實
相反,該協議不接受發往 127.0.0.1 的外部請求,因為這意味着攻擊者可能會試圖潛入他們的系統。 據報道,從保留 IP 地址(如 127.0.0.1)出現在互聯網上的數據包被稱為火星數據包。
創建一個環回設備,以便到您自己的計算機的反向鍊接正常工作。 這是通過操作系統創建的虛拟接口。 對于 Unix 系統,該界面稱為 lo 或 lo0,也可以使用 ifconfig 命令顯示。 用于 Windows 的類似命令是 ipconfig。
本地主機是做什麼用的?開發人員使用本地主機來測試程序和 Web 應用程序。網絡管理員也可以使用環回來測試網絡連接。 localhost 的另一個實際用途是 hosts 文件,您可以在其中使用環回來阻止惡意網站。
- 用于測試目的
本地主機在 Web 服務器中的主要用途是對需要通過 Internet 進行通信的應用程序進行編程。在開發過程中,重要的是要确定應用程序在可以訪問 Internet 後是否真的按預期工作。 Localhosts 的其他功能隻有在可以在 Internet 上找到所需文件的情況下才能實現 – 例如,在您的 PC 上打開 HTML 文檔或将其加載到服務器上并訪問它是有區别的。發布未完成的産品而不進行測試是沒有意義的,因此開發人員使用環回來測試它們。他們可以刺激連接,同時避免網絡繞道:相反,連接完全保持在他們自己的系統内。
使用 localhost 進行測試的另一個優點是它的速度。當您通過 Internet 發送請求時,需要 100 多毫秒。如果向 localhost 發送 ping,最大傳輸時間僅為 1 毫秒。通過這項技術,您還可以了解 Internet 協議是否正确實施。要自己測試,隻需打開命令提示符 (Windows) 或終端 (Unix/Mac) 并使用 ping 命令。您可以将其發送到域 localhost 或直接發送到 IP 地址。
ping localhost ping 127.0.0.1
如果您想在您的 PC 上設置您自己的測試服務器以通過 localhost 對其進行尋址,您首先需要安裝正确的軟件。 通常可以在您自己的計算機上運行任何标準 Web 服務器,但也有專門設計用作 localhost 的特殊軟件——例如 XAMPP。
- 阻止網站
本地主機也在主機文件中發揮作用。 原則上,該文件是域名系統 (DNS) 的前身:在其中可以将 IP 地址分配給相應的域。 如果在浏覽器中輸入網址,需要将域名翻譯成IP地址。 它曾經是主機文件,但現在您通常會使用全球 DNS。 但是,主機文件仍然存在于大多數操作系統中。 對于 Windows,您可以在 \system32\drivers\etc\hosts 下找到該文件; 對于 macOS 和其他 Unix 系統,它位于 /etc/hosts 下。
如果您自己沒有進行任何文件更改,則可能還剩下以下兩個條目:
127.0.0.1 localhost ::1 localhost
這确保了 localhost 的名稱解析不必通過 Internet 完成。您還可以使用該文件來阻止某些網站。為此,請在列表中輸入要阻止的網站,并為域分配 IP 地址 127.0.0.1。如果您(或者可能是惡意腳本)嘗試調用鎖定的域,浏覽器将首先檢查主機文件,并在那裡找到您的條目。另一種選擇是使用域名 0.0.0.0。
然後浏覽器會嘗試訪問服務器上對應的127.0.0.1網站。但是,浏覽器不太可能找到它,因為請求的文件将不存在。但是,如果您已經設置了自己的測試服務器,那麼浏覽器可能會找到 home.html,但這隻是您自己的文件。如果您尚未設置自己的測試服務器,則會出現錯誤消息而不是請求的網站。該技術還可用于關閉整個系統的廣告插入。為了不必手動輸入每個條目,您可以在 Internet 上找到已完成且定期擴展的主機文件。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!