Linux实例之localhost和127.0.0.1的区别

叶sir学编程 2024-06-25 07:03:54

Linux系统中,localhost和127.0.0.1都是表示本地IP,但是其表示的含义和概念以及技术细节都有着不同,导致在某些特定的场景下,localhost不等于127.0.0.1。

localhost

首先localhost是一个域名(也是主机名),会通过系统的hosts文件进行解析,并将其映射到本机ip,如果是ipv4则通常是127.0.0.1,ipv6则是::1。使用ping命令测试验证下,如图1,

当使用ping -4 localhost命令时,显示的localhost映射的ip是127.0.0.1;

随后使用ping -6 localhost命令时,显示的localhost映射的ip是::1;

因此在实际应用中,在配置使用localhost时,要根据系统当时的网络环境来决定是否使用localhost来当作127.0.0.1,如果网络环境是ipv6的,那么到时程序解析localhost就会出错。

图1

127.0.0.1

如图2,使用ifconfig命令查看127.0.0.1对应的是lo网口,这是一个特殊的网络接口,叫做本地回环接口(Loopback Interface),该接口不经过物理网络,因此不受外部网络的影响,通常用于访问本地服务。而在IPV4中,本地回环地址是127.0.0.1,IPV6是::1,因此127.0.0.1是一个明确的ip地址,可以直接在系统上进行网络通信,而localhost则需要先进行域名解析,然后再通信,过程多了一步,性能也就有了微小的差异。

图2

0 阅读:3

叶sir学编程

简介:感谢大家的关注