1. 概述

在本文中,我们将深入介绍网络中 hostname(主机名) 的基本概念,并重点讲解哪些字符是允许出现在主机名中的。主机名是网络设备的重要标识,它帮助我们在网络中唯一地识别一台设备,是构建完整域名(FQDN)的基础。

2. 主机名简介

主机名是一个分配给网络设备的名称,其主要作用是为该设备在网络中提供一个可识别的身份标识,便于设备之间的通信与数据交换。

主机名是 FQDN(Fully Qualified Domain Name,完全限定域名) 的一部分。FQDN通过 DNS(Domain Name System,域名系统) 来实现网络中唯一标识的目的。

来看一个FQDN的结构图:

FQDN结构图

FQDN由三部分组成:

  • Hostname(主机名):如 drafts
  • Domain(域名):如 baeldung.com
  • TLD(顶级域名):如 .com

我们平时访问网站时输入的网址,背后就是通过主机名解析到IP地址完成的。虽然也可以直接使用IP地址访问网站,但记忆起来非常困难,因此我们更倾向于使用主机名。

在Windows等操作系统中,可以通过命令行输入 hostnameipconfig /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. 总结

本文我们介绍了主机名的基本概念、作用以及命名规则。主机名在网络通信中起着至关重要的作用,是构建域名系统的基础。合理命名主机名不仅有助于系统的维护和管理,也能提升整体架构的可读性和专业性。

在实际开发和运维过程中,尤其在构建微服务架构、部署容器化应用时,遵循规范的主机名命名习惯是非常值得重视的。避免使用不规范字符或命名方式,可以有效减少后续排查问题的成本。


原始标题:Valid Characters of a Hostname