localhost的原理

刚开始一直以为Localhost和127.0.0.1是一样的功能的,如果你没有仔细去分析,还真以为这是相同的两款软件:

虽说效果看起来是一样的,都是本地IP,但实际上区别很大:Localhost的意思是本地服务器,而127.0.0.1是本机地址,他们的关系是通过操作系统中的hosts文件,将Localhost解析为127.0.0.1。而实际工作中,Localhost是不经过网卡传输的,所以,它不受网络防火墙和与网卡相关的种种限制;而127.0.0.1则要通过网卡传输数据,是必须依赖网卡的。这一点是它们最大的区别。
一般设置程序时,本地服务用Localhost是最好的,Localhost不会解析成IP,也不会占用网卡、网络资源。有时候用Localhost可以,但用127.0.0.1就不可以的情况就是在于此。

localhost与127.0.0.1的概念和工作原理之不同

要比较两个东西有什么不同,首先要弄清两者的概念。所以,我们从概念开始。

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

一个是“本地”,一个是“本机”。不过从这两个词来看,还是不能比较两者的区别。我们再看看他们的工作原理。

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

通过上述概念和工作原理的比较,我想现在大家都心里有谱了吧,知道localhost与127.0.0.1有什么不同了。文中开头提到的localhost不能访问但127.0.0.1可以访问的问题,究其原因,很可能是localhost访问时,系统带的本机当前用户的权限去访问,而用ip的时候,等于本机是通过网络再去访问本机,可能涉及到网络用户的权限。

另外,我们现在也应该明白了一个道理,那就是一般设置程序时本地服务用localhost是最好的,localhost不会解析成IP,也不会占用网卡、网络资源。

https://imququ.com/post/web-proxy.html