Answers:
那么,最有可能的区别是,你还要做一个实际查找的localhost
地方。
如果您使用127.0.0.1
,则(智能)软件将直接将其转换为IP地址并使用它。的某些实现gethostbyname
将检测点格式(大概是等效的IPv6格式),并且根本不进行查找。
否则,必须解析名称。并且不能保证您的hosts
文件将实际用于该分辨率(首先或根本不使用),因此localhost
可能成为完全不同的 IP地址。
我的意思是,在某些系统上,hosts
可以绕过本地文件。该host.conf
文件在Linux(和许多其他Unices)上对此进行控制。
/etc/nsswitch.conf
如果hosts
正在运行nss,则选择是否将DNS或DNS首先用于主机查找。
在现代计算机系统上,本地主机作为主机名转换为127.0.0.0/8(环回)网络块中的IPv4地址,通常是127.0.0.1或IPv6中的:: 1。
唯一的区别是它将在DNS中查找系统localhost
解析的内容。此查找非常非常快。例如,要进入,stackoverflow.com
请在地址栏中输入该地址(或使用此处指向的书签)。无论哪种方式,您都是通过主机名到达的。localhost
提供类似的功能。
一些应用程序将对“ localhost”进行特殊处理。mysql客户端会将本地主机视为连接到本地unix域套接字的请求,而不是使用tcp连接到127.0.0.1上的服务器。这可能更快,并且可能在其他身份验证区域中。
我不知道其他将localhost与127.0.0.1区别对待的应用程序,但是可能有些。
好吧,通过IP更快。
基本上,当您通过服务器名称进行调用时,它将转换为原始IP。
但是记住一个IP会很困难,因此创建了域名。
我个人使用http://localhost
代替http://127.0.0.1
或http://username
。
主要区别在于可以通过Unix域套接字建立连接,如下所示:localhost vs. 127.0.0.1
localhost
是独立于协议的,IPv4和IPv6都可以工作。