作为 Web 开发人员,我需要了解 DNS 吗?

2025-05-24

作为 Web 开发人员,我需要了解 DNS 吗?

那么,作为一名 Web 开发人员,我必须了解 DNS 是什么吗?让我们来一探究竟!

说实话,作为一名 Web 开发人员,我们只听说过 HTML、CSS、JavaScript、MYSQL、MongoDB、Git 等等。那么在真实的 Web 服务器上,DNS 的配置和部署又该如何呢?在你说 DNS 不重要之前,请先阅读下一段精彩的内容。

想象一下,一个汉堡🍔的面包之间没有汉堡肉。这简直难以想象,对吧?嗯,DNS 也是一样的。没有 DNS,你就无法在 Web 服务器上托管你的 xyz.com 网站。

部署过程非常简单,只需两步。第一步,您可以通过 FTP 上传网站文件。您也可以选择通过 SSH 进行上传。但是,如果您使用的是共享主机,出于安全考虑,您很可能无法通过 SSH 访问服务器。除非您使用 VPS/ 专用服务器。本文不再赘述第一步的概念。第二步是设置域名的 DNS 配置。

要连接到 FTP 服务器,您必须通过Filezilla或其他工具连接到您的 FTP 帐户。

要通过SSH连接,您必须有一个 Linux 终端或Putty

什么是 DNS?

你还记得以前用来查找电话号码/地址的黄页吗?DNS(域名服务)基本上就是这样的。用户在浏览器中输入想要访问的网站的URL(网址)。之后,DNS服务器会返回与你输入的域名关联的Web服务器的IP地址。例如,域名xyz.com可能会被解析为213.246.62.200。

DNS 有多个记录用于不同的目的。

“A”记录

这可能是最重要的 DNS 记录。它的作用是告诉浏览器,将网站 xyz.com 指向地址 213.246.62.200。要更新、添加或删除域名的 A 记录,您必须拥有 DNS 配置面板。所有虚拟主机公司都提供这样的面板,例如 Plesk/Cpanel、Directadmin 等。

要确定您网站的 IP,您可以在 Linux 终端中使用 Linux 命令 > dig A xyz.com。

“Cname”记录

此 DNS 记录将别名映射到规范域名。为了更好地理解,假设网址为www.xyz.com,CNAME 记录可以将此网址映射到同名域名 xyz.com 的实际网站。

“TXT”记录

通常,此记录用于验证域名的所有权。在某些情况下,域名注册商会要求您在 TXT 记录中输入一个唯一的 ID。

TXT 记录也用于设置 DKIM(一种保护电子邮件发件人免受垃圾邮件、网络钓鱼等侵害的技术)。

TXT 的另一个用途是设置 SPF,用于授权哪些 IP 地址可以从某个特定域发送电子邮件。

“MX”记录

此记录指定负责代表域接受传入和传出电子邮件的邮件服务器。

如果您爱上了 DNS 并且想要深入了解,请查看这些命令。

ping xyz.com(用于确定网页的 IP,但主要用于确定连接性)。Linux + Windows + Mac

dig xyz.com(这是用于查询域名 DNS 区域的最常用命令)。Linux + Mac

nslookup xyz.com(和 dig 用法差不多)。Linux + Windows

或者为了方便您使用,请使用在线工具https://dnschecker.org/

DNS 查询如何工作?

现在我们对 DNS 有了一点了解,那么它究竟是如何工作的呢?
想象一下,用户在浏览器上输入 reddit.com,你的设备就会查看本地 DNS 缓存。如果设备找不到答案,就会发起 DNS 查询。

您的计算机将联系您的 ISP 的递归 DNS 服务器,请求 xyz.com 的 IP 地址。递归 DNS 服务器有其本地缓存,就像您的本地计算机一样。一些 ISP 也使用相同的递归 DNS 服务器。如果域名在其缓存中,查询将在此结束;如果不存在,则继续。

然后,ISP 的 DNS 服务器会向 DNS 根服务器请求 reddit.com 的 IP 地址。然后,根服务器会返回 .com 顶级域名的 IP 地址。以下是DNS 查询的步骤。

替代文本

之后,ISP 会向 .COM 域名的 DNS 服务器请求 reddit.com 的权威服务器 IP。该服务器会将该 IP 返回给 ISP 的服务器。

ISP 向 reddit.com 的权威 DNS 服务器发送另一个 IP 地址请求。该 IP 地址被发回给 ISP,ISP 再将该 IP 地址发回给用户,并显示网站。

这一切过程仅需几毫秒。

DNS传播时间

听起来不错吧?先别急!💔

DNS 查询是一个非常快的过程,与 DNS 传播不同。😭

更新 DNS 区域时,DNS 传播最多可能需要 72 小时。DNS 更新后,必须在全球范围内的互联网上进行复制。

我们已经到了本文的结尾,那么结论是什么呢?DNS 知识对 Web 开发者来说重要吗?它并非必备技能,但拥有它确实是一项不错的额外知识。尤其如果你是一名自由职业者,从事 WordPress 或其他 CMS 的开发工作。你可能会从客户那里获得一些额外的收入💸,仅仅因为你掌握了一项非常有用的额外技能。

当然,最重要的是DNS 笑话。

“我会给你们讲一个 DNS 笑话,但请注意,每个人可能需要 24 小时或更长时间才能明白。”😅🤓

我的下一篇文章
,欢迎来打个招呼!👋
我的 Twitter
Dribbble

文章来源:https://dev.to/icornea/do-i-need-to-understand-dns-as-web-developer-3hib
PREV
Dockerfile最佳实践:如何创建高效的容器
NEXT
2025 年 21+ 个最佳免费开源图标库