127.0.0.1和localhost的区别

    今天配置了一个web服务,测试时发现localhost:2002能访问而127.0.0.1:2002不能访问,域名加端口号更不能访问。头大了半天。之前没细想过两者的区别,总觉得它们是通用的表示本地服务器的两个不一样的写法而已,就比如一个网页能够经过域名来访问也能够经过IP来访问同样,localhost表明的是域名,而127.0.0.1则表明IP地址。web

    经过查资料才发现两者仍是有区别的。两者的概念和工做原理是不一样的:windows

  • localhost:也叫local ,正确的解释是:本地服务器
  • 127.0.0.1:在windows等系统的正确解释是:本机地址(本机服务器)

        一个是“本地”,一个是“本机”。不过从这两个词来看,仍是不能比较二者的区别。咱们再看看他们的工做原理。服务器

  • localhot:是不经网卡传输的,它不受网络防火墙和网卡相关的的限制。
  • 127.0.0.1:是经过网卡传输的,它依赖网卡,并受到网络防火墙和网卡相关的限制。

        经过上述概念和工做原理的比较,知道localhost与127.0.0.1有什么不一样了。文中开头提到的localhost能访问但127.0.0.1不能够访问的问题,究其缘由,极可能是localhost访问时,并无经过网卡,而用ip的时候,是经过网卡传输的,它依赖网卡,并受到网络防火墙和网卡相关的限制,涉及到网络用户的权限。而我测试用的2002端口受防火墙的限制了因此访问不到,改为不受限的端口号问题就解决了。网络

        另外,如今也明白了一个道理,那就是通常设置程序时本地服务用localhost是最好的,localhost不会解析成IP,也不会占用网卡、网络资源。测试

相关文章
相关标签/搜索