公众号旧文

一次讲清楚:域、域名、主机名、网址

作者:胖子阅读 —

很多人上网很多年,其实一直在混用几个词:

域

域名

主机名

网址

看起来都像名字,但它们在互联网里,扮演的是完全不同的角色。

如果你搞不清这几个概念,就很容易在技术讨论中似是而非。

一、先从域说起

域不是一台机器,也不是一个网站。

它本质上是:

DNS 里的一个命名空间

你可以把域理解成:

一个管理范围

一个名字的集合

一个层级边界

比如:

example.com

这是一个域。

在这个域下面,你可以拥有很多名字:

www.example.com

api.example.com

mail.example.com

但注意:

域本身并不指向某一台具体主机。

它更像是:

一家公司

一个组织

一个名字的姓氏

二、什么是域名(Domain Name)?

域名是 DNS 体系中用于标识资源的名字。

例如:

它们在技术上都属于域名,只是层级不同:

  • example.com 是一个域名,同时也是一个域
  • www.example.com 是 example.com 下的一个子域名

可以将 DNS 理解为一棵树, 每一个域名对应树上的一个节点,而“域”表示该节点及其下属的命名空间。

三、那什么是主机名(Hostname)?

主机名,指的是域中的一个具体节点名。

它通常代表:

一台主机

一个服务节点

一个明确的网络身份

举个具体的例子:

jp1-20260123152340710968.tailffeaeb.ts.net

我们把它拆开:

jp1-20260123152340710968  .  tailffeaeb.ts.net

└───────主机名──────┘     └────域────┘

这里:

tailffeaeb.ts.net 是域

jp1-20260123152340710968 是这个域下的一个主机名

组合在一起,构成了一个:

完整限定域名(FQDN)

四、一句话讲清「域名」和「主机名」的区别

这是最容易混的地方,直接给你一句定论:

域名强调“命名空间”,主机名强调“具体节点”。

换个说法:

域名解决的是:

👉 名字怎么组织、怎么分层

主机名解决的是:

👉 你要找的是哪一台、哪一个

五、那网址又是什么?

网址(URL)根本不是 DNS 的概念。

URL 是:

应用层的资源定位方式

一个完整的网址长这样:

https://www.example.com:443/path/to/page?x=1

它包含了很多部分:

部分 含义
https 协议
www.example.com 域名 / 主机名
:443 端口
/path 资源路径
?x=1 查询参数

所以:

域名 / 主机名 只是 URL 里的一小部分。

六、一个非常重要但常被忽略的事实

你平时说的“我访问一个网址”,

真正发生的是:

从 URL 中取出域名 / 主机名

通过 DNS 找到 IP

再通过协议(HTTP / HTTPS)访问资源

DNS 只负责:

名字 → IP

它完全不知道:

协议是什么

页面是什么

路径是什么

七、为什么要把这些概念分得这么细?

因为在工程上,它们负责的事情完全不同:

概念 负责什么
域 命名空间与管理边界
域名 DNS 中的一个合法名字
主机名 域中的具体节点
IP 网络位置
URL 应用层资源定位

混用这些词,

讨论就一定会跑偏。

八、最后的总结

你可以用这几句话收尾:

域,是名字的空间; 域名,是空间里的名字; 主机名,是指向具体节点的名字; 网址,是应用层访问资源的方式。

DNS 只关心名字怎么对应到 IP, 至于你访问什么内容,那是另一层的事情。