1. 概述
在本文中,我们将深入介绍网络中 hostname(主机名) 的基本概念,并重点讲解哪些字符是允许出现在主机名中的。主机名是网络设备的重要标识,它帮助我们在网络中唯一地识别一台设备,是构建完整域名(FQDN)的基础。
2. 主机名简介
主机名是一个分配给网络设备的名称,其主要作用是为该设备在网络中提供一个可识别的身份标识,便于设备之间的通信与数据交换。
主机名是 FQDN(Fully Qualified Domain Name,完全限定域名) 的一部分。FQDN通过 DNS(Domain Name System,域名系统) 来实现网络中唯一标识的目的。
来看一个FQDN的结构图:
FQDN由三部分组成:
- Hostname(主机名):如
drafts
- Domain(域名):如
baeldung.com
- TLD(顶级域名):如
.com
我们平时访问网站时输入的网址,背后就是通过主机名解析到IP地址完成的。虽然也可以直接使用IP地址访问网站,但记忆起来非常困难,因此我们更倾向于使用主机名。
在Windows等操作系统中,可以通过命令行输入 hostname
或 ipconfig /all
来查看本机的主机名。
3. 主机名命名规范
主机名的格式最早由 RFC 952 标准定义,后续由 RFC 1123 做了补充。以下是关于主机名字符和格式的几个关键规则:
✅ 允许的字符包括:
- 大写英文字母(A-Z)
- 小写英文字母(a-z)
- 数字(0-9)
- 连字符
-
❌ 不允许的字符包括:
- 空格
- 下划线
_
- 点号
.
(除非作为分隔符) - 特殊符号(如 @, #, $ 等)
⚠️ 注意:
- 主机名不能以
.
或-
开头或结尾 - 每个标签(label)最多 63 个字符
- 整个主机名(包含点)最多 253 个字符
- 主机名是 ASCII 字符串,不支持 Unicode
此外,虽然技术上允许以数字开头的主机名(如 1server.example.com
),但出于可读性和维护性考虑,通常建议以字母开头。
4. 主机名示例
下面是一些常见的主机名示例:
URL | 主机名 | 说明 |
---|---|---|
drafts.baeldung.com |
drafts |
小写英文字母,符合标准规范 |
www.baeldung.com |
www |
传统且广泛使用的主机名,表示网站主入口 |
m.fxbkex.com |
m |
用于移动设备访问的子域名,简洁明了 |
smtp.gmail.com |
smtp |
使用协议名作为主机名,常见于邮件服务器 |
api.example.com |
api |
表示后端接口服务的常见命名方式 |
这些命名都遵循了主机名的命名规范,同时具有良好的可读性和功能性。
5. 总结
本文我们介绍了主机名的基本概念、作用以及命名规则。主机名在网络通信中起着至关重要的作用,是构建域名系统的基础。合理命名主机名不仅有助于系统的维护和管理,也能提升整体架构的可读性和专业性。
在实际开发和运维过程中,尤其在构建微服务架构、部署容器化应用时,遵循规范的主机名命名习惯是非常值得重视的。避免使用不规范字符或命名方式,可以有效减少后续排查问题的成本。