今天配置了一个web服务,测试时发现localhost:2002能访问而127.0.0.1:2002不能访问,域名加端口号更不能访问。头大了半天。之前没细想过两者的区别,总觉得它们是通用的表示本地服务器的两个不一样的写法而已,就比如一个网页能够经过域名来访问也能够经过IP来访问同样,localhost表明的是域名,而127.0.0.1则表明IP地址。web
经过查资料才发现两者仍是有区别的。两者的概念和工做原理是不一样的:windows
一个是“本地”,一个是“本机”。不过从这两个词来看,仍是不能比较二者的区别。咱们再看看他们的工做原理。服务器
经过上述概念和工做原理的比较,知道localhost与127.0.0.1有什么不一样了。文中开头提到的localhost能访问但127.0.0.1不能够访问的问题,究其缘由,极可能是localhost访问时,并无经过网卡,而用ip的时候,是经过网卡传输的,它依赖网卡,并受到网络防火墙和网卡相关的限制,涉及到网络用户的权限。而我测试用的2002端口受防火墙的限制了因此访问不到,改为不受限的端口号问题就解决了。网络
另外,如今也明白了一个道理,那就是通常设置程序时本地服务用localhost是最好的,localhost不会解析成IP,也不会占用网卡、网络资源。测试