说出来你可能不信,几乎所有人每天都在使用一项上古技术,但根本不知道它的存在——没有它,你连百度都打不开。我说的不是 WiFi,也不是 5G,而是域名系统,DNS。今天这篇文章,完全是被“忽悠”出来的。我被一群同事连哄带骗,最后硬着头皮答应写一篇 DNS 的普及文章。一开始我满脑子都是:“为什么是我?这种事不可以找别人吗?”但研究完、写完,我居然回过头想感谢那帮“忽悠”我的人。因为在这个过程中,我像拼图一样把碎片知识拼了起来,终于弄明白了一件事——每次打开网站,究竟发生了什么。
如果你也听过“DNS”这个词,但一直没搞懂它到底在折腾什么,那这篇文章就是为你准备的。接下来,我会用一种带点吐槽和犀利的方式,把 DNS 拎出来拆成几条讲清楚。
一、DNS 就是互联网的电话本。想象一下你要去朋友家。你记住的是朋友的名字,而不是他的 GPS 坐标。于是你打开手机地图,输入名字,手机会自己算出路线。互联网几乎是一模一样的逻辑。DNS 的全称是 Domain Name System,我们叫它域名系统。说穿了,它就是互联网的电话本——或者说联系人应用。你不用记忆“142.250.190.78”这种数字 IP 地址,只要在浏览器里敲进“google.com”,DNS 就会把这个你容易记住的名字,翻译成机器之间用来相互寻找的数字地址。如果没有 DNS,我们每个人每天就得背一大串数字,才能上 Google、刷 GitHub、看 YouTube、躺在沙发上看 Netflix。没有人愿意过那种日子,真的。
二、按下回车键的毫秒级大戏。你在浏览器地址栏输入“github.com”然后回车。接下来发生的事,剧本之复杂,堪比一部微缩的谍战片:第一步,浏览器发出灵魂拷问:“github.com 的 IP 地址是什么?”第二步,它先查 DNS 解析器,看答案是不是已经在缓存里存着了。如果缓存里没有,第三步就启动——解析器开始问别的 DNS 服务器,一级一级往下问,直到查到正确的 IP 地址。第四步,那个 IP 地址被送回浏览器。第五步,浏览器用这个地址连接到 GitHub 的服务器,加载出网页。这整段操作,通常只需要几毫秒。酷吗?相当酷。
三、没有 DNS 的世界,上网就是一场灾难。域名系统用我们人类能看懂的方式,驯服了冰冷的数字网络。有了它,我们用记住的名字就能上网,永远不必去背诵 IP 地址;即便网站后台迁移到另一台服务器,换个新 IP,你照样能用同一个网址访问,用户完全无感;而且通过缓存——也就是把最近查过的地址临时存一份——网站加载速度还能变得更快。如果没有 DNS,浏览体验会直接倒退几十年:一切变得又慢又让人暴躁,就像在电话号码本里手动翻找人名那样原始。
四、换个姿势重新理解一次。拿出你的手机,打开通讯录看一眼。联系人姓名,就是“google.com”;电话号码,就是 IP 地址;你点击联系人拨号,就等于在浏览器打开网站。你从不会去记所有人的号码,只是记名字,剩下的事交给手机。DNS 在互联网世界干的,正是这件事。电话本这个比喻,能把 DNS 的底层逻辑一次性讲透。
五、一项悄悄干活从不抱怨的技术。DNS 是那种每天默默运转、大多数人永远不会察觉到的技术。没人注意它,但我们访问的每一个网站都建在它的地基上。这篇文章起头,是一个我当初完全不感冒的任务。但等我真正把它研究完、写下来,才发现自己学到的东西比想象的多得多。有时,那些被“逼着”学的东西,最后反而像一份意外的礼物砸中你。我想感谢那几个忽悠我的人,他们推了我一把,我才没继续心安理得地忽略掉这个每天扛着整个互联网跑腿的系统。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.