每日一个计算机小知识: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 主机。

相关推荐
短剑重铸之日8 小时前
《ShardingSphere解读》07 读写分离:如何集成分库分表+数据库主从架构?
java·数据库·后端·架构·shardingsphere·分库分表
wefly20179 小时前
m3u8live.cn 在线M3U8播放器,免安装高效验流排错
前端·后端·python·音视频·前端开发工具
zhanggongzichu10 小时前
小白怎么理解后端分层概念
后端·全栈
stark张宇11 小时前
Golang后端面试复盘:从Swoole到IM架构,如何支撑360w用户的实时消息推送?
后端
小码哥_常11 小时前
从0到1:搭建Spring Boot 3企业级认证授权平台
后端
小码哥_常11 小时前
告别扫库噩梦!Spring Boot+Redis让订单超时管理飞起来
后端
大傻^11 小时前
Spring AI Alibaba 快速入门:基于通义千问的AI应用开发环境搭建
java·人工智能·后端·spring·springai·springaialibaba
IT_陈寒13 小时前
SpringBoot实战:3个隐藏技巧让你的应用性能飙升50%
前端·人工智能·后端
彭于晏Yan13 小时前
MQTT消息服务
spring boot·后端·中间件
程序员Sunday13 小时前
Claude Code 生态爆发:5个必知的新工具
前端·人工智能·后端