开发者社区> 问答> 正文

localhost与127.0.0.1的性能问题

在服务端(windows server)运行的nodejs程序,与本地数据库(mongo)交互的时候,localhost和127.0.0.1哪个性能更好?

有一种说法是localhost被当作域名对待,经过操作系统解析成127.0.0.1,然后再发到网卡,而127.0.0.1跳过了域名解析,所以性能更好。

另一种说法是,操作系统解析loaclhost后,直接转发请求到本机,不经过网卡,所以性能比locakhost好。

哪种说法是对的?

展开
收起
小僵尸 2019-11-12 17:32:36 4978 0
3 条回答
写回答
取消 提交回答
  • localhost表示本机的名字,127.0.0.1是经过系统的映射的本机IP。所以实际来说大部分情况建议直接使用localhost

    2020-03-22 22:43:02
    赞同 展开评论 打赏
  • localhost和127.0.0.1 在处理方式应该是一样的

    2020-02-29 16:16:51
    赞同 展开评论 打赏
  • 个人博客:https://www.zhoujunwen.com

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

    • 1、127.0.0.1是回送地址,指本地机,一般用来测试使用。回送地址是本机回送地址(Loopback Address),即主机IP堆栈内部的IP地址,主要用于网络软件测试以及本地机进程间通信,无论什么程序,一旦使用回送地址发送数据,协议软件立即返回,不进行任何网络传输。
    • 2、localhost是本地DNS解析的127.0.0.1的域名,这个你打开本机的hosts文件就可以看到,一般位于c:\windows\system32\driver\etc下,一般在最后有这么一行:
    127.0.0.1 localhost
    
    • 3、本机IP则指你连到网络上的IP地址,可以是内网地址,当然也可能是公网IP,这个就是你实际利用TCP/IP协议与网上计算机通信时使用的IP了。

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

    一般设置程序时本地服务用localhost是最好的,localhost不会解析成ip,也不会占用网卡、网络资源。

    有时候用localhost可以,但用127.0.0.1就不可以的情况就是在于此。猜想localhost访问时,系统带的本机当前用户的权限去访问,而用ip的时候,等于本机是通过网络再去访问本机,可能涉及到网络用户的权限。

    2019-11-12 18:04:08
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载