localhost与127.0.0.1,本地主机与IP地址之争!

Hello,大家好,我是 Sunday。

当我们在本地启动一个项目时,通常会得到两个访问地址:

  1. localhost
  2. 127.0.0.1

两个地址可以指向同一个展示结果。但是大家有没有过一点好奇:这两个地址有什么区别呢?

localhost:本地主机名

"localhost"本质上是一个 域名 ,为本地计算机的IP地址提供了一个用户友好的 别名

它是对所提供访问的"本地"性质的标准化体现,确保我们可以在不影响外部环境的情况下进行网络应用程序的访问。可直接用于 开发和测试 目的。

127.0.0.1:IP 访问地址

"127.0.0.1"代表一个 IP地址,专门用于本地计算机内的访问通信。

它不同于 localhost,而是专门用于循环访问和内部测试的。

该地址通过将网络流量引导回本地,确保应用可以独立于外部网络接口进行运行和测试。

域名如何解析为IP地址?

现在我们已经知道 localhost 本质上为域名,而 127.0.0.1 是一个 IP。

通常,通过域名访问网站需要向DNS查询以找到相应的IP地址。但是,在当前场景下,"localhost"却不是这样的。

localhost 解析为"127.0.0.1"或"::1"(IPv6)绕过 了通常的DNS查找过程。这种转换被硬编码到系统的 hosts文件 中。

Hosts 是一个没有扩展名的系统文件,其作用就是将一些常用的网址域名与其对应的IP地址建立一个关联"数据库"。当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。

文件位置:C:\Windows\System32\drivers\etc

localhost vs. 127.0.0.1:实际影响和用例

虽然 localhost 和 127.0.0.1 的作用都是 本地开发 和 测试,但它们的微小区别在于 操作系统和网络软件对它们的处理和解释

  • localhost:可以解析为IPv4或IPv6地址,为在不同环境下的细微行为提供了灵活性。
  • 127.0.0.1:作为明确的IPv4地址,在作为循环访问时提供了可预测性和简单性。

其他扩展知识

01:本地开发中的端口

网络端口的概念进一步复杂化了软件与网络协议之间的交互。

端口作为通信的端点,允许多个网络应用程序在单个设备上共存。

默认端口:HTTP为80,HTTPS为443

02:私有IP地址和网络地址

对本地地址的讨论自然而然地引出了更广泛的私有IP地址的话题,比如 192.168.x.x 范围内的地址。

192.168 开头的 IP 的地址,表示 局域网内部访问地址,在外界不可访问

前端训练营:1v1私教,终身辅导计划,帮你拿到满意的 offer 已帮助数百位同学拿到了中大厂 offer。欢迎来撩~~~~~~~~

相关推荐
子兮曰1 天前
jev-ultrafast 深度解析:7 秒订机票的浏览器 Agent 是如何炼成的
前端·后端·agent
子兮曰1 天前
Jev 爆发一周:7 秒 Agent 背后的 System One 生态与三场争议
前端·后端·ai编程
前端小万1 天前
写公众号赚了 3000 块后,我做了一款叫 "一键成稿" 的软件
前端·微信小程序
爱勇宝1 天前
ZCode 开源 24 小时:一份没有历史的账本,回答不了"有没有偷代码"
前端·后端·chatglm (智谱)
三十而立洋1 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁1 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
汉堡大王95271 天前
Jev:不是聊天机器人, 而是一个智能 if 语句
前端·人工智能·后端
梦想很大很大1 天前
从运行事实到回归证据:Workrun 的 Telemetry 与 Evaluation 实践
前端·人工智能·后端
计算机魔术师1 天前
Meta Muse agent 接入 Shopify 的 Shop Pay 实现代理式购物
前端
沙蒿同学1 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端