127.0.0.1 与 localhost 的区别
很多人会接触到这个IP地址127.0.0.1。也许你会问127.0.0.1是什么地址?其实127.0.0.1是一个回送地址,指本地机,一般用来测试使用。大家常用来ping 127.0.0.1来看本地IP/TCP正不正常,如能ping通即可正常使用。
对于大多数习惯用localhost的来说,实质上就是指向127.0.0.1这个本地IP地址。在操作系统中有个配置文件将localhost与127.0.0.1绑定在了一起。可以理解为本地主机的意思。
localhost与127.0.0.1的区别是什么?
相信有人会说是本地IP,曾有人说,用 127.0.0.1 比 localhost 好,可以减少一次解析。
看来这个问题还有人不清楚,其实这两者是有区别的。
- localhost 也叫 local,正确的解释是:本地服务器。
- 127.0.0.1在windows等系统的正确解释是:本机地址(本机服务器)。
他们的解析通过本机的host文件,windows自动将localhost解析为127.0.0.1
- localhost(local)是不经网卡传输!这点很重要,它不受网络防火墙和网卡相关的的限制。
- 127.0.0.1是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。
一般设置程序时本地服务用localhost是最好的,localhost不会解析成IP,也不会占用网卡、网络资源。
有时候用localhost可以,但用127.0.0.1就不可以的情况就是在于此。猜想localhost访问时,系统带的本机当前用户的权限去访问,而用IP的时候,等于本机是通过网络再去访问本机,可能涉及到网络用户的权限。
localhost | 127.0.0.1 | 本机IP | |
---|---|---|---|
网络 | 不联网 | 不联网 | 联网 |
传输 | 不使用网卡,不受防火墙和网卡限制 | 网卡传输,受防火墙和网卡限制 | 网卡传输,受防火墙和网卡限制 |
访问 | 本机访问 | 本机访问 | 本机或外部访问 |