帮助中心 >
  关于网络安全 >
  @符号和www在主机记录里代表什么?域名解析参数说明

@符号和www在主机记录里代表什么?域名解析参数说明

时间 : 2026-07-24 10:28:48
编辑 : DNS.COM

  在域名解析的控制面板里,你一定会遇到一个叫“主机记录”或“主机名”的输入框。有人往里填@,有人填www,还有人直接留空。这三种填法有什么区别?填错了会导致什么后果?很多人在添加解析记录的时候,根本不清楚这些符号和前缀的含义,照着别人的截图抄,结果网站要么打不开,要么打开的是别人的站点。今天这篇文章,就把@符号、www、以及主机记录这个字段的规则彻底讲清楚。

  主机记录是干什么的?

  在开始之前,先明确一个基本概念:域名是有层级结构的。

  www.example.com. 这个完整的域名,从右往左看:

  • . 是根域(最顶层,通常省略不写)
  • com 是顶级域
  • example 是二级域(也叫主域名)
  • www 是三级域(通常称为子域名或主机名)

  所谓“主机记录”,要填的就是最左边那一级,也就是子域名的前缀部分。它决定了这条解析记录到底作用于哪个具体的子域名。

  举个例子:如果你的主域名是 example.com,那么:

  主机记录填 www → 这条记录针对 www.example.com

  主机记录填 @ → 这条记录针对 example.com 本身(即不加任何前缀)

  主机记录填 * → 这条记录针对所有未明确指定的子域名,比如 abc.example.com、xyz.example.com

  主机记录填 mail → 这条记录针对 mail.example.com

  主机记录填 api → 这条记录针对 api.example.com

  理解了这一点,后面所有的内容都顺理成章了。

  @符号:代表主域名本身

  @在域名解析里是一个特殊的保留符号,它代表“主域名”本身,也就是不含任何前缀的裸域名。

  当你在主机记录里填 @ 的时候,实际上是在告诉DNS系统:这条记录要生效的域名是 example.com,不是 www.example.com,也不是 abc.example.com,就是最原始的那个 example.com。

  举个例子:你有一个网站,希望用户输入 example.com 就能访问,那么你需要添加一条主机记录为 @ 的A记录,指向你的服务器IP。

  主机记录: @
  记录类型: A
  记录值: 192.0.2.1

  这样,用户在浏览器里输入 example.com,DNS解析后就会指向 192.0.2.1。

  需要注意的是,@符号的用法在不同DNS服务商那里略有差异:

  阿里云/腾讯云/Cloudflare:直接在主机记录框里填 @,系统识别为裸域名。

  某些老旧的DNS管理系统:可能要求把主机记录留空,或者填一个半角句号 . 来表示主域名。如果你不确定,可以看控制面板里的提示文字。

  另外,@符号在同一个记录类型下只能存在一条。比如你不能同时添加两条主机记录为 @ 的A记录指向不同IP(除非你做负载均衡,但那需要多条记录配合权重,且大部分DNS不支持)。同样,MX记录、TXT记录也都可以用 @ 来作用于主域名本身。

  www:仅仅是一个子域名

  www本身没有任何特殊含义,它就是一个普普通通的子域名前缀,和你叫mail、api、blog完全一样。

  没错,www不是必须的,也不是什么特殊保留字。它只是在早期互联网时代被广泛采用的一个习惯性前缀,用来标识这是一个Web服务。但到了今天,很多网站已经不再使用www前缀,直接用裸域名访问。

  但www和@有一个关键区别:Cookie的作用域。

  如果你用 example.com 登录网站,浏览器设置的Cookie默认对 example.com 和所有子域名(包括 www.example.com)都生效。但如果你用 www.example.com 登录,Cookie默认只对 www.example.com 这个子域名生效,不会传给 api.example.com 或 example.com。

  这就是为什么很多网站会做301重定向:要么把 example.com 永久重定向到 www.example.com,要么反过来。目的就是把所有访问流量统一到一个域名上,避免Cookie混乱,同时也有利于SEO权重集中。

  在解析配置上,@和www是两条独立的记录,需要分别添加:

  记录1:
  主机记录: @
  记录类型: A
  记录值: 192.0.2.1

  记录2:
  主机记录: www
  记录类型: A
  记录值: 192.0.2.1

  两条记录指向同一个IP,这样无论用户输入 example.com 还是 www.example.com,都能访问到你的网站。至于要不要在Web服务器层面做301重定向,那是下一步的事情。

  其他常见的主机记录写法

  星号 *(泛解析)

  主机记录填 *,表示泛解析,即所有未明确指定的子域名都指向同一个目标。

  比如你设置了 *.example.com 指向 192.0.2.1,那么:

  anything.example.com → 192.0.2.1

  test.example.com → 192.0.2.1

  random123.example.com → 192.0.2.1

  但是 www.example.com 如果已经有单独的A记录,则以单独记录为准,不会走泛解析

  泛解析的典型应用场景:多用户博客平台(每个用户分配一个子域名)、SAAS服务的多租户路由、或者你懒得为每个子域名单独添加记录的情况。

  注意:泛解析不能和 @ 混为一谈。@ 只针对裸域名,* 针对的是所有子域名,二者作用范围不同。

  留空(空主机名)

  在某些DNS系统里,留空就等同于 @,代表主域名。但这不是统一标准,有些系统留空会报错,有些系统会把留空当成无效输入。最保险的做法:明确填写@,而不是依赖“留空等于裸域名”这个隐含规则。

  纯数字或字母(自定义子域名)

  主机记录可以填任意字母、数字、连字符的组合,只要符合域名命名规范,长度不超过63个字符即可。比如 mail、ftp、blog、api-v2、test-2026 都是合法的。

  每一个这样的主机记录,都会创建一个对应的子域名,独立解析,互不影响。

  主机记录在不同记录类型中的特殊行为

  在CNAME记录中,主机记录不能是@。

  这是很多新手踩过的坑。CNAME规定,如果有其他记录(特别是SOA和NS)已经占用了这个主机名,就不能再给它添加CNAME。而裸域名(@)通常已经有SOA记录和NS记录,所以大多数DNS服务商禁止在 @ 上设置CNAME。

  解决办法:如果你想让 example.com 指向另一个域名(比如CDN的域名),需要看你的DNS服务商是否支持 ALIAS记录 或 ANAME记录。这两种记录可以实现和CNAME类似的功能,但可以在裸域名上使用。Cloudflare有CNAME Flattening技术,阿里云有“显性URL转发”来绕开这个限制,具体看你用的服务商。

  在MX记录中,@和子域名的含义截然不同。

  如果你在 @ 上设置了MX记录,意思是 @example.com 这个域名收到的邮件由某台邮件服务器处理。

  如果你在 mail 上设置了MX记录,意思是 mail.example.com 这个子域名收到的邮件由某台邮件服务器处理——这是完全不同的两条线。

  绝大多数企业邮箱配置,MX记录都填在 @ 上,因为你要收的是 @example.com 后缀的邮件,而不是 @mail.example.com。

  主机记录和URL转发是两回事

  这是最常见的混淆点。域名解析里的主机记录配置的是DNS层面的映射,只负责把域名转成IP。而URL转发(也叫显性转发或隐性转发)是HTTP层面的行为,由Web服务器或CDN节点响应301/302重定向来实现跳转。

  举个例子:

  你在DNS里给 www.example.com 加了一条A记录指向 192.0.2.1,然后在服务器上配置Nginx把 www.example.com 重定向到 example.com。

  这两个动作分工不同,缺一不可。DNS负责让用户找到你的服务器,Nginx/Web服务器负责让用户从www跳到裸域名。

  如果你只是在DNS里设置了CNAME把 www.example.com 指向 example.com,但服务器上没做任何重定向配置,用户浏览器地址栏里依然是 www.example.com,并没有发生跳转。CNAME只是让两个域名解析到了同一个IP而已,URL本身不会变化。

DNS Anna
DNS Jade
DNS Amy
DNS NOC
标题
电子邮件地址
类型
信息
验证码
提交