localhost 跟127.0.0.1 的区别

localhost 和127.0.0.1 的区别

      

     今天遇到一个问题,本地链接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的时候,等于本机是通过网络再去访问本机,可能涉及到网络用户的权限。