# 网址加 www

www 是二级域名,将不带 “www” 的域名重定向到带 “www” 的域名主要是为了集中网站的 SEO 权重,避免搜索引擎对同一内容的重复索引。个人网站带不带 www 就比较随意了,如果启用了多个二级域名的话,建议带 www,如果没有启用的话,建议不带 www,因为不带 www 的属于一级域名,对搜索引擎来说收录更好,权重更高,而且用户输入或者看的时候,也更简洁。

参考

# DNS 记录

域名解析:请求网络上的 DNS(域名系统)服务器,让他们来告诉域名对应的 IP 是多少

DNS 记录:DNS records,将域名指向正在使用的各种网络服务,例如指向一个网站(托管服务),这是最常用的功能。此时需要一条 A 记录CNAME 记录,把域名(如 yourdomain.com )指向存放网站文件的服务器 IP 地址(比如 Vercel, Netlify, 阿里云,腾讯云等提供的服务器地址)。

域名服务器:Nameservers,管理 DNS 记录,本质上就是去修改 “互联网电话簿” 里的内容。你需要告诉互联网去哪里查找和修改你这个域名的 “电话簿”(即 DNS 记录)。这个地方就是 域名服务器。

A 记录:Address 记录,不是一个 IP 或者一个域名,而是一种指向关系,即 IP 解析,将域名或主机名指向某个 IP。

域名 www.xx.com → 1.1.1.1
主机名 DD → 2.2.2.2

CNAME 记录:Canonical Name Records,也叫别名记录、规范名称记录,也是一种指向关系,A 记录是将域名解析成 IP,CNAME 是将域名解析成另外一个域名。据 DNS 协议标准,根域名不能设置 CNAME 记录。 子域名没有 CNAME 限制,可以自由使用。

www.yy.com → www.xx.com → 1.1.1.1

CNAME 记录工作原理

1、用户请求域名:当用户尝试访问设置了 CNAME 记录的域名时,DNS 服务器会接收到这个请求。

2、DNS 服务器解析 CNAME 记录:DNS 服务器会根据用户的请求查找相应的 CNAME 记录。

3、DNS 服务器将域名解析为新 CNAME 记录所指向的域名:如果找到了 CNAME 记录,DNS 服务器会将用户请求的域名解析为 CNAME 记录所指向的目标域名。

4、DNS 服务器将请求转发到新的域名对应的服务器:通过查找 DNS 服务器上的 A 记录,DNS 服务器会将用户的请求转发到目标域名对应的服务器。

5、最终用户可以访问他们想要的网站:一旦 DNS 服务器将请求转发到正确的服务器,用户就可以访问他们想要的网站。

参考

# DNS 记录填写的内容

  1. @ A 216.198.79.1
    • 用于: 根域名(也叫裸域名,apex/naked domain)。也就是 yourdomain.com (前面没有 www.talk. 等前缀)。
    • 技术限制: 根据 DNS 协议标准,根域名不能设置 CNAME 记录。如果设置了 CNAME,它会与同样必须放在根域的其他记录(如 MX 邮件记录)冲突,导致邮件等服务失效。
    • 解决方案: 因此,Vercel(和其他现代平台)提供一组固定的 IP 地址(A 记录) 让用户配置根域名。 216.198.79.1 就是其中之一(通常 Vercel 会提供 2-4 个 IP 让你都配置上)。
  2. www CNAME ...
    • 用于: 子域名(如 www.yourdomain.com , talk.yourdomain.com , comment.yourdomain.com )。
    • 技术优势: 子域名没有 CNAME 限制,可以自由使用。
    • 最佳实践: Vercel 更推荐使用 CNAME,因为它更灵活(背后原理见上一个问题),所以为子域名提供了那个复杂的 CNAME 地址。
  • 配置根域名的 A 记录:为了服务那些输入 yourdomain.com 的用户,并为他们实现重定向到 www。
  • 配置 www 的 CNAME 记录:为了服务那些直接输入 www.yourdomain.com 的用户,并为他们提供智能加速。

场景一:用户访问 https://yourdomain.com (根域名)

  1. 浏览器查询 yourdomain.com 的 DNS 记录。
  2. DNS 返回一条 A 记录,指向 IP 地址 216.198.79.1
  3. 浏览器直接向这个 IP 地址发起请求。
  4. 请求到达 Vercel 网络的入口服务器。
  5. Vercel 的服务器会根据 HTTP 请求头中的 Host 字段(其值为 yourdomain.com )来判断用户想访问的是哪个项目,然后从全球网络中调取对应的文件返回给用户。

场景二:用户访问 https://www.yourdomain.com (子域名)

  1. 浏览器查询 www.yourdomain.com 的 DNS 记录。
  2. DNS 返回一条 CNAME 记录,指向 xxxxxxxxxxxxxxxxxx.vercel-dns-017.com
  3. 浏览器再次查询 xxxxxxxxxxxxxxxxxx.vercel-dns-017.com 的 IP 地址。
  4. Vercel 的智能 DNS 系统会根据用户的地理位置,返回一个离他最近的 Vercel 服务器 IP 地址(比如 76.76.21.21 )。
  5. 浏览器向这个最优的 IP 地址发起请求。
  6. 请求到达 Vercel 网络的入口服务器。
  7. Vercel 的服务器会根据 HTTP 请求头中的 Host 字段(其值为 www.yourdomain.com )和 CNAME 中的唯一 ID xxxxxxxxxxxxxxxxxx 来判断用户想访问的是哪个项目,然后返回文件。

参考

# 加速域名

这个概念通常和 CDN(内容分发网络)相关

  • 没有加速域名(传统服务器): 您的网站放在一台固定的服务器上(比如在旧金山的机房)。无论用户在北京、伦敦还是巴西访问,他们的请求都必须千里迢迢地跑到旧金山的那一台服务器去获取数据,速度慢且不稳定。

    • 你的域名 -> 一个固定的IP地址(旧金山)
  • 有加速域名(现代 CDN): 您的网站文件被自动复制(缓存)到了全球各地上百个数据中心的服务器上(这些服务器叫 “边缘节点”)。

    • 当用户访问时,“加速域名” 这个指挥中心会发挥作用:
      1. 迅速判断出用户来自哪里(北京)。
      2. 从全球的服务器网络中,为他选择距离最近、速度最快的一个节点(比如北京的边缘节点)。
      3. 将用户的请求指挥到这个北京节点上获取数据。
    • 这样就实现了极速访问
    • 你的域名 -> 加速域名(指挥中心) -> 智能调度到离你最近的服务器IP
  • 配置 CNAME

  • CDN 基础知识 - CNAME、加速域名、源站地址与回源 host 之间的关系_一个域名 cname 两个记录 - CSDN 博客

  • 快速配置加速域名,方便接入 CDN 加速服务 - 阿里云帮助中心

# “缓存未命中” 与 “回源”

让我们深入看一下当 CDN 节点上没有用户想要的资源时,会发生什么(这个过程就叫 “缓存未命中”):

  1. 请求到达边缘节点:用户请求 www.example.com/image.jpg ,根据智能 DNS 调度,他连接到了离他最近的 CDN 边缘节点(假设是西安节点)。
  2. 节点检查缓存:西安节点在自己的缓存库里查找 image.jpg 这个文件。
  3. 缓存未命中(Cache Miss):很不巧,这个文件因为很少人访问,或者刚刚被清除出缓存,西安节点没有这个文件。
  4. 发起回源请求:此时,西安节点不会给用户返回错误。它会代表用户,向您之前配置好的源站服务器发起一个新的请求,去获取 image.jpg 这个文件。
    • 源站地址是您事先告诉 CDN 服务商的(比如您在 Cloudflare 或 Vercel 的后台设置中填写的源站 IP 192.0.2.1 )。
  5. 获取并缓存资源:源站服务器将 image.jpg 文件返回给西安节点。节点收到后,会做两件事:
    • a) 立即返回给用户:用户终于收到了图片,可以正常浏览了。
    • b) 保存到本地缓存:节点会把这张图片保存一份在自己的缓存里。这样,下一个用户再来请求同样的图片时,节点就可以直接提供,而无需再次回源了。

# 一个完美的比喻:图书馆分馆系统

  • 你的源站服务器:就像是国家图书馆总馆(唯一且内容最全)。
  • CDN 边缘节点:就像是遍布各个城市的社区分馆
  • 回源:就像一个读者在社区分馆想借一本冷门书籍,分馆里没有(缓存未命中)。分馆管理员就会打电话给总馆,请求调阅这本书。总馆通过内部物流系统把书送到分馆,分馆先把书交给读者,然后再把这本书放上自己的书架,方便以后的读者借阅。

# 网站测速

直接测试 xxxxxxxxxxxxxxxx.vercel-dns-017.com 的速度,并不等同于测试你网站的真实访问速度,但它能告诉你一些非常重要的信息。

简单来说:
测这个域名的速度,相当于测试从你的网络到 “Vercel 全球加速网络入口” 的速度。这只是整个访问链条的第一段,而不是全部。


# 一个完美的比喻:测试跨国快递服务

想象一下你用 Vercel 部署网站,就像是用一家顶级的跨国快递公司(Vercel CDN) 从你在美国的仓库(源站)寄包裹(网站文件)给全球客户。

  • xxxxxxxxxxxxxxxx.vercel-dns-017.com :就像是这家快递公司在你客户所在城市设立的 “地区分拣中心” 的地址
  • 测速这个域名:就相当于你亲自从家开车到这个 “地区分拣中心”,测一下这段路堵不堵,开过去要多久。

这能告诉你:

  • 你找到这个快递公司的入口快不快。
  • 你去往这个入口的网络道路是否通畅。

但这不能告诉你:

  • 包裹在快递公司全球网络内部的运输速度(从美国仓库 -> 中国分拣中心)。
  • 包裹在分拣中心内部的处理速度。
  • 包裹从分拣中心派送到客户家的最后一段路的速度。

# 技术分解:测速 xxxxxxxxxxxxxxxx.vercel-dns-017.com 到底测的是什么?

当你对这个域名进行 ping 或 traceroute 测速时,你测量的是:

  1. DNS 解析速度(非常快): 解析 xxxxxxxxxxxxxxxx.vercel-dns-017.com 本身的速度。Vercel 的 DNS 服务器非常高效,这部分耗时几乎可以忽略。
  2. 网络延迟(Round-Trip Time, RTT): 数据包从你的电脑发出,到达 Vercel 网络的 “边缘入口服务器” 并返回所需的时间。这确实是衡量你本地网络到 Vercel 基础设施连接质量的一个重要指标

但是,用户访问你网站的真实体验还取决于更多、更关键的步骤,而这些步骤是测这个域名无法反映的:

测速 xxxxxxxxxxxxxxxx.vercel-dns-017.com 用户访问 www.yourdomain.com 的全流程
✅ 测量到 Vercel 网络入口 的延迟 1. DNS 解析: 解析 www.yourdomain.com -> CNAME -> xxxxxxxxxxxxxxxx.vercel-dns-017.com -> 最优 IP (这步包含了智能调度)
不反映 智能调度结果 2. 建立连接: 连接到上述 “最优 IP” (这步才是真正提供内容的服务器,它可能离你更近!)
不反映 服务器处理速度 3. 服务器响应: Vercel 服务器接收请求、识别你的项目、准备内容并返回响应的速度。
不反映 内容传输速度 4. 内容下载: 浏览器下载 HTML, CSS, JS, 图片等文件的速度。这取决于文件大小和服务器带宽。
不反映 浏览器渲染速度 5. 浏览器渲染: 浏览器解析代码并最终渲染出页面的速度。

# 所以,这个测速结果有什么实际意义?

  1. 基准参考: 如果连 ping 这个域名延迟都非常高(例如,在国内 ping 结果 > 200ms),那可能说明你的本地网络到国际出口或 Vercel 的基础网络连接质量不佳,这通常意味着你的网站访问速度也不会理想。
  2. 相对比较: 你可以用这个结果来比较不同网络环境。比如,用电信网络 ping 一下,再用移动网络 ping 一下,哪个延迟低,就说明哪个网络访问 Vercel 的 “入口” 更快。
  3. 排查问题: 如果你网站访问慢,但 ping 这个域名延迟极低,那问题可能出在 Vercel 服务器处理、你的项目本身(如文件过大)、或者浏览器渲染上,而不是网络连接上。

# 结论:你应该如何正确测试网站速度?

不要只测 xxxxxxxxxxxxxxxx.vercel-dns-017.com 的速度,它只是一个片面的指标。

要测试你网站的真实、端到端的访问速度,你应该:

  1. 使用浏览器开发者工具: 打开浏览器(如 Chrome)的 “网络(Network)” 选项卡,刷新你的网站页面。这里可以看到每个资源加载的详细时间(DNS 查询、连接、SSL 握手、服务器响应、内容传输等)。
  2. 使用专业在线工具:
    • WebPageTest:可以从全球多个地点测试你的网站,并提供详细的水滴图(Waterfall Chart)和性能评分。
    • Pingdom Website Speed Test
    • GTmetrix
    • Google PageSpeed Insights

这些工具模拟真实用户访问你最终域名(如 www.yourdomain.com )的全过程,给出的结果才是对你网站性能有真正指导意义的。

# Vercel 部署的 DNS 记录管理

Vercel 的域名服务器:把域名的 “总管理权” 交给 Vercel。告诉全球的 DNS 系统:“想查询 yourdomain.com 的所有记录,直接去问 Vercel 的服务器(比如 ns1.vercel-dns.com )。”

第三方服务商管理:保持域名的 “总管理权” 仍在域名注册商(如 GoDaddy, Namecheap, 阿里云万网,腾讯云 DNSPod)或者专业的 DNS 服务商(如 Cloudflare)那里。不需要修改 Vercel 中的域名服务器,而是登录域名注册商或 DNS 服务商提供的管理后台,在那里手动添加或修改 DNS 记录。当需要把域名指向 Vercel 时,Vercel 会提供具体的记录值(比如一个 IP 地址或一个 CNAME 目标地址),只需要照抄填写到 DNS 管理后台即可。

Vercel 中的域名服务器设置

点开 vercel 中某个项目的域名设置如下

image-20250902094902555

点击 View DNS Records & More for bi6mht.top ,可以看到目前 bi6mht.top 正在使用第三方域名服务器,如果要启动 vercel 作为 DNS 管理方,需要在第三方域名服务器中更新 ns1.vercel-dns.com 作为域名管理方。

image-20250902104744514

例如下图是 namesilo 网站中的域名服务器设置,如将 vercel 设置为域名管理方,将其改为 ns1.vercel-dns.com 等便可

image-20250902104241238

把刚才的 vercel 界面拉到最下面,即可添加 CNAME 记录的域名服务器,如果没有启动 vercel 作为 DNS 管理方,这里就不必再填写内容了,一般也不用 vercel,而是直接用第三方的。

image-20250902095137641

参考