简单来说,localhost
和127.0.0.1
,都代表本机地址。
在物理机访问,就代表物理机。
在虚拟机访问,就代表虚拟机。
127.0.0.1是什么地址?
127.0.0.1
是一个特殊的局域网IPv4地址,被称为回环地址(loopback address)。当网络程序发送数据到这个地址时,是由本机接收处理的,所以叫做“回环”。
它的主要作用是:用来测试的本机网络是否正常。 如果ping这个地址有响应,代表本机的TCP/IP协议安装正常,网络接口工作正常。
localhost是什么地址?
localhost
是一个主机名(hostname),代表本机。 localhost
也适用于访问本机上的网络服务的域名,比如访问本机的MySQL、FTP、Redis等。
localhost和127.0.0.1的关系
区别1
localhost
是域名,如果使用localhost
访问网络服务,会经过DNS解析(或者查找本机hosts文件)转换为IP地址。 通常情况下,localhost
都是解析到127.0.0.1
的。 在操作系统支持IPv6后,localhost
同时还指向IPv6的地址[::1]
。
这个解析关系的配置文件在:C:\Windows\System32\drivers\etc\hosts
: (解析是可以修改的) 127.0.0.1 localhost
区别2
localhost
不经过网卡传输!这点很重要,它不受网络防火墙和网卡相关的的限制。 127.0.0.1
是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。
这两个代表本机的地址和本机IP地址的区别
比如电脑的IP地址是192.168.xxx.
xxx,注意,这地址是有可能每一次重新联网、重启以后发生变化的。
所以,对于访问本机的服务,始终用localhost
或者127.0.0.1
访问更简单。包括在各种靶场的配置文件中,链接本机的MySQL数据库,我们写的都是localhost
或者127.0.0.1
。
总结
localhost
和127.0.0.1
大多数情况下可以互换使用,但是背后的工作机制不同。 localhost
代表本地服务器,127.0.0.1
是一个IP地址。
通常情况下,建议使用localhost
。
不建议用本机的局域网IP访问靶场: