今天遇到一个问题,本地链接memcached,通过终端telnet localhost 11211 一直链接不成功,但是用
telnet 127.0.0.1 11211 确实可以。此问题的环境是:
1:本地没有联网。
2:我的/etc/hosts中的127.0.0.1 localhost 屏蔽了。
经过研究发现如下:
1:不改hosts的情况下,链接上网络就可以了
2:不联网,更改hosts也可以。
这是什么原因呢?说真的,我也没太明白。 有高手还望赐教。。谢谢
经过搜索总结的localhost 和127.0.0.1 的区别如下:
1: localhost也叫local ,正确的解释是:本地服务器,localhot(local)是不经网卡传输!这点很重要,它不受网络防火墙和网卡相关的的限制。
2: 127.0.0.1在windows等系统的正确解释是:本机地址(本机服务器)
127.0.0.1是通过网卡传输,依赖网卡,并受到网络防火墙和网卡相关的限制。
一般设置程序时本地服务用localhost是最好的,localhost不会解析成ip,也不会占用网卡、网络资源。
有时候用localhost可以,但用127.0.0.1就不可以的情况就是在于此。猜想localhost访问时,系统带的本机当前用户的权限去访问,而用ip的时候,等于本机是通过网络再去访问本机,可能涉及到网络用户的权限。