一文講清楚 localhost 和 127-0-0-1 的區別

在進行網絡和 Web 開發時,經常會用到 “localhost” 和 “127.0.0.1” ,localhost 和 127.0.0.1 在大多數情況下可以互換使用,但它們在概念上是不同的:

localhost 通過系統的 host 文件會自動解析到 127.0.0.1。

localhost 和 127.0.0.1 都是用來訪問本地計算機的名稱和地址,它們之間有緊密的關係,但也有一些區別。

1、localhost

localhost 是一個域名,它在大多數操作系統中被配置爲指向本地計算機,我們在瀏覽器中輸入 localhost 時,瀏覽器會將其解析爲本地計算機的地址。

通常情況下,在操作系統的主機文件(如 /etc/hosts 或 C:\Windows\System32\drivers\etc\hosts)中,localhost 被定義爲指向 127.0.0.1。

使用 localhost 進行網絡通信時,操作系統會將其解析爲 127.0.0.1。

其實 localhost 就相當於一個域名,我們可以使用 ping 來查看域名對應的 IP 地址,例如 ping www.runoob.com 就會返回 www.runoob.com 域名指向的 IP:

所以我們就可以在命令行使用 ping localhost 命令來查看 localhost 指向的 IP 地址:

2、127.0.0.1

127.0.0.1 是一個特殊的 IP 地址,稱爲迴環地址(loopback address),它用於標識本地計算機,並且是網絡協議中保留的地址之一,用於測試和本地通信。

127.0.0.1 是一個特殊的 IPv4 地址,保留用於主機自身的通信,不會經過任何物理網絡接口。

相同點

不同點

在大多數情況下,localhost 和 127.0.0.1 可以互換使用,因爲它們都指向同一臺計算機。不過,如果遇到 DNS 或主機文件解析的問題,直接使用 127.0.0.1 可能會更加可靠。

IPv6 中的 localhost

在 IPv6 中,localhost 對應的地址是 ::1,這個地址是 IPv6 的迴環地址,用於本地設備自我通信,就像 IPv4 中的 127.0.0.1 一樣。

IPv6 中的 localhost 可以像 IPv4 一樣在網絡通信和開發中使用。

當你需要在 IPv6 環境中進行本地測試和開發時,可以使用 ::1 來指代本地主機。

如果你在本地機器上運行一個支持 IPv6 的 Web 服務器,可以通過在瀏覽器中輸入 http://[::1]:port 來訪問,其中 “port” 是你的 Web 服務器運行的特定端口。

結合之前關於 IPv4 中 localhost 和 127.0.0.1 的討論,我們可以總結 IPv6 中的相應情況:

  1. 表示形式:
  1. 使用方式:
  1. 訪問方法:

無論是 IPv4 中的 localhost 和 127.0.0.1,還是 IPv6 中的 localhost 和 ::1,它們都用於實現本地設備的自我通信。

本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源https://mp.weixin.qq.com/s/tpxjfFY3rMKP0QQk3WZ5gQ