当前端开发人员在本地调试时,他们经常与本地主机交互,只需运行npm run在浏览器中打开他们的网页,地址栏显示类似http://localhost:xxx/index.html.
在运维查看ip的时候,会看到有一个127.0.0.1的地址。
那么他们两者之间有什么区别呢?
localhost 是一个域名,除了便于记忆之外,与用于访问互联网的域名本质上没有什么不同。
localhost 的范围仅限于本地机器——它的名字很清楚:“本地”指的是本地范围内的东西。
每个人都可以在各自的计算机上使用 localhost,访问各自的页面内容,而不会互相干扰。
要真正理解localhost,我们需要讨论用户如何通过域名访问程序, 以百度为例。
为什么是IP地址?打个比方,如果有人向您的公司发送包裹,递送单将包括公司的地址、名称和收件人等详细信息。投递过程依赖于地址进行路由,最终到达收件人。同样,在网络中,域名就像公司名称,IP 地址就像物理地址。在网络世界中,IP 地址对于定位相应的程序至关重要。DNS 的作用就像一个公司目录,列出每个域对应的 IP 地址。有些域名可能未注册,导致其 IP 地址无法找到,而另一些域名可能有多个 IP 地址,DNS 根据某些规则自动返回一个 IP 地址。购买域名后,域名服务提供商通常会提供 DNS 解析服务,在 DNS 中注册域名及其对应的 IP 地址。IP地址从哪里来?每台在线计算机都有一个IP地址,但个人计算机IP通常不适合公共访问,类似于公司内部位置,内部人员清楚,外部人员则不清楚。对于 Baidu 提供的外部服务,需要公共 IP 地址,通常由互联网服务提供商提供。例如,如果您的公司使用中国联通访问互联网,您可以让他们为您公司的网关服务器分配一个公共IP地址。网关服务器就像一个交换机,处理所有内部网络通信,并设置转发规则以将传入请求路由到适当的服务器。
但是当我们访问Baidu时,我们并没有指定端口。这是因为在未指定端口时,将使用默认端口(HTTP 为 80,HTTPS 为 443)。启动网络程序时必须绑定端口,尽管某些框架会自动选择计算机上未使用的端口。
有了上面的基础知识,我们就很容易理解这个问题了。如前所述,localhost 是一个域名。
127.0.0.1 怎么样?它是一个IP地址,当前机器的本地IP地址,只能在本机本身使用。您的计算机无需连接互联网即可使用该IP地址,方便开发和测试网络程序。我们调试的程序都是绑定到这个IP地址的。
值得注意的是,我们常见的IP地址的格式为XXXX,以点分为四段。实际上,它是一个 32 位二进制数,分为四个 8 位段,然后转换为十进制数进行显示。
该解决方案由每台计算机单独处理。每台计算机上都有一个主机文件(/etc/hosts),其中包含一些硬编码的 DNS 解析规则,包括将 localhost 解析为 127.0.0.1 的规则,这是一种约定。
如果您不想使用 localhost,也没关系。您可以将其命名为任何名称,例如 wodehost,并将其解析为 127.0.0.1。
您甚至可以使用 baidu.com,但它仅供您自己使用,不会影响其他任何人。
localhost 和 127.0.0.1 都是用于指向本地计算机的地址,但它们之间存在一些差异:
综上所述,localhost 和 127.0.0.1 都可以用来表示本地计算机,但它们的表示方式和解析方式不同,且在网络传
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有