学习笔记,如有错误,感谢指出!
文章目录
- 1. 对比方式一
- 1.1 表示方式:
- 1.2 主机名解析:
- 1.3 IPv6 支持:
- 1.4 可读性和易用性:
- 1.5 小总结
- 2. 对比方式二
- 2.1 原理不同
- 2.2 概念不同
- 2.3 指向不同
1. 对比方式一
“localhost
” 和 “127.0.0.1
” 都是用于本地主机(即本地计算机)的网络标识符。它们通常用于在计算机上访问本地服务或测试网络应用程序。尽管它们在大多数情况下可以互换使用,但它们之间有一些细微的区别。
1.1 表示方式:
localhost
是一个主机名,而不是直接的 IP 地址。它被配置为解析为本地计算机的回环地址(通常是 127.0.0.1 或者 ::1)。127.0.0.1
是本地计算机的 IPv4 回环地址。它是一个具体的 IP 地址,用于本地回环通信。
1.2 主机名解析:
localhost
通常会被显式地配置在计算机的 hosts 文件中,将其映射到回环地址(127.0.0.1或::1)。这是操作系统的一部分,确保localhost
解析到回环地址,从而在本地机器上实现自我访问。127.0.0.1
是一个直接的 IPv4 地址,不需要主机名解析。它是回环地址的标准表示之一。
1.3 IPv6 支持:
localhost
可以在 IPv6 环境中使用,对应的 IPv6 地址是 “::1”。这样,无论是使用 IPv4 还是 IPv6 进行本地回环通信,都可以使用localhost
。127.0.0.1
是 IPv4 地址,不直接支持 IPv6。虽然可以通过特殊的 IPv4-IPv6映射方式实现访问,但在纯 IPv6 网络环境中,可能不直接适用。
1.4 可读性和易用性:
localhost
是一个友好的、易于记忆的名称。它是通用的本地主机标识符,广泛用于各种操作系统和应用程序。127.0.0.1
是一个纯粹的 IP 地址,对于不熟悉网络概念的用户可能不太直观。
1.5 小总结
综上所述,localhost
和 127.0.0.1
都用于本地回环通信,可以实现类似的功能。在大多数情况下,localhost
更常用,因为它更易读、易于记忆,同时还支持 IPv6 环境。但在某些特定的情况下,使用直接的 IP 地址(如 127.0.0.1
)可能更适合。
2. 对比方式二
2.1 原理不同
-
localhost
的原理是不经网卡传输,不会受到网卡协议的限制。设置程序时本地服务用localhost
,localhost
不会解析成IP,也不会占用网卡、网络资源。 -
127.0.0.1
的原理是经过网卡传输的,依赖网卡协议,并受到网卡相关协议的限制。使用IP访问的时候,等于本机是通过网络再去访问本机,会涉及到网络用户的权限。
2.2 概念不同
-
localhost
:也可以叫是local,正确的解释是:本地服务器的意思。它可以被配置为任意的IP地址可以通过hosts这个文件进行更改,不过通常情况下都指向:127.0.0.1
-
127.0.0.1
:在windows系统的正确解释是:本机地址的意思。127.0.0.1
是保留地址之一,用来检验本机TCP/IP协议栈,可以Ping回送地址。如果回送地址Ping不通,就说明IP堆栈出了故障。如果通的话,表明网络出了问题。
2.3 指向不同
-
localhost
是一个保留域名(RFC 2606) ,为了避免同狭义定义主机名混淆而单独列出。它不仅指向127.0.0.1
这个IP地址,它同时还可以指向ipv6 的地址 。 -
127.0.0.1
是回送地址,指本地机,测试使用。回送地址(127.x.x.x)是本机回送地址(Loopback Address),即主机IP堆栈内部的IP地址,主要用于网络软件测试以及本地机进程间通信,无论什么程序,一旦使用回送地址发送数据,协议软件立即返回,不进行任何网络传输。
参考文章:
- 对比方式二参考