每日一个计算机小知识:DNS和hosts文件

每日分享一个有趣的计算机小知识,今日话题:DNS和hosts文件

DNS 是 Domain Name System 的缩写(网上也有的地方说是 Domain Name Server 域名服务器的缩写,其实这是误传,只是从英文简写角度来说首字母简写也是 DNS),中文叫域名系统,是互联网中的核心基础设施,它负责域名和对应的 IP 地址的映射。

简单点说 DNS 就相当于整个网络世界的通讯录,Host 主机相当于房子,IP地址相当于门牌号,通过门牌号也能直接找到朋友家,但是当朋友变多了就记不住这么多门牌号了,但是我知道朋友的名字(就相当于域名),这下想要去谁家,就先打个电话问下 DNS:我想去我的朋友小花家,DNS里就能找到你朋友家对应的门牌号,然后你就可以直接去了。

在1983年,美国人保罗·莫卡派乔斯最早提出了关于域名系统的详细架构,并开发了世界上第一个DNS域名系统服务器:Jeeves。在这之前如果想上网,需要依赖电脑本地的一个 hosts.txt 文本文件,文件中记录了网络地址和对应的 Host 主机名,就像下面这样的:

bash 复制代码
 # 主机地址      主机名      状态
 43 decimal     ucla       ACTIVE   # 美国加州大学洛杉矶分校的主机
 44 decimal     sri        ACTIVE   # 美国斯坦福研究院的主机
 45 decimal     ucsb       ACTIVE   # 美国加州大学圣巴巴拉分校的主机
 46 decimal     utah       ACTIVE   # 美国犹他大学的主机

这里的主机地址是NCP协议,所以看着和咱们现在的IP地址不一样。这个文本文件是需要人工手动维护的,如果哪个地址有更新就需要在自己电脑上手动更新。(关于hosts.txt的原始资料:github.com/ttkzw/hosts...

早期计算机只有大学或科研机构使用,用户也只有科研人员,整个网络里的Host也有限,大家可能都相互认识。随着接入网络里的主机增多,还有个人电脑的兴起,靠人工手动来维护整个网络世界的通讯录显然不现实,这也是后面IP、域名和DNS诞生的缘由。

尽管现在我们上网已经不需要自己手动维护 hosts.txt 文件,但是现在的电脑里依然能找到这一历史技术的痕迹,也就是我们现在电脑上的 hosts 文件,windows在这个目录下 C:\Windows\System32\drivers\etc\hosts ,macOS和Linux在这个目录下 /etc/hosts

bash 复制代码
127.0.0.1       localhost
::1             localhost

# 其他示例
192.168.1.1    cafe123.cn

默认只有本地回环地址 127.0.0.1 的映射,也就是让你在浏览器中输入 localhost 的时候能直接访问自己的本地主机设备,常用于本地开发,比如前端开发常用的 localhost:8080。

其实你也可以自己随便修改成 xiaoming,这样你在浏览器里输入 xiaoming:8080 也能访问你本地的服务。

除此之外,还可以用来解决网络访问问题,比如很多人访问 github 比较慢或者打不开,就可以通过修改自己本地电脑上 hosts 文件的方式解决。

当请求网络的时候,我们的电脑会先查看本地的 hosts 文件,如果里面已经记录了对应地址,那就不会再去向 DNS 服务器询问你朋友家的门牌号,而是直接去到对应的 Host 主机。

相关推荐
行百里er3 小时前
Redis 完结篇——Redis 热点问题在 Spring Boot 项目中实战
redis·后端
高频因子挖掘机4 小时前
只取最近 60 个交易日,却每次拉全历史:量化脚本变慢的原因与改法
后端·github·api
孟健5 小时前
从5000亿Token到83%字节匹配:AI逆向工程与重构的工程闭环实践
后端·架构·ai编程
码事漫谈6 小时前
丢得静悄悄,谈一谈 Agent 的记忆是怎么没的
后端
迪飞特科技6 小时前
智慧物业平台实战:Spring Boot 整合小程序实现报修巡检费用全流程
spring boot·后端·小程序
考虑考虑6 小时前
@JsonInclude注解使用
spring boot·后端·spring
IT_陈寒6 小时前
Vite的这个问题坑了我三天,原来如此解决!
前端·人工智能·后端
网易云信6 小时前
大模型能上岗做销售吗?我们让 12 款国产模型交了 420 份作业
前端·后端
CCblandy6 小时前
HTTP 长连接 3 类故障实测:[WinError 10053]、99 个 TIME_WAIT、69 次多余握手,4 种对策怎么选
后端·python·网络协议·http·云原生·性能优化·架构
蜗牛互联网6 小时前
Python Agent工具调用的白名单、参数校验与审批门禁
java·服务器·前端·人工智能·后端·python