网址中的主域名、子域名和路径分别在哪里
先定位 URL 的主机名,再看它左侧的子域名与后面的路径。站名出现在路径、查询参数或用户信息中,并不意味着它就是当前网站的主域名;不要按字符串里熟悉的词来判断归属。
先划出地址的骨架
示例地址为 https://guide.example.com/notes/change?view=full#check。它仅用于结构教学,不是本站推荐的外部入口。按 MDN 对 URL 的说明,常见网页地址可以拆出协议、主机、路径、查询和片段。先找到这些边界,再阅读里面的词,会比从左往右猜测站名清楚。
| 示例部分 | 名称 | 在本例中的意义 |
|---|---|---|
| https:// | 协议 | 地址使用 HTTPS 形式 |
| guide.example.com | 主机名 | 请求所面向的主机名称 |
| example.com | 本例主域名 | 用作说明的域名主体 |
| guide | 本例子域名标签 | 位于 example.com 左侧 |
| /notes/change | 路径 | 站内资源位置的表达 |
| ?view=full | 查询部分 | 传递参数 |
| #check | 片段 | 定位页面中的片段标识 |
参考:MDN:URL 的组成
主域名不能机械地取最后两段
日常讨论里的“主域名”通常指关注的注册域名层级,但域名后缀的结构并不总是一段。本文的 example.com 便于演示,不能由它推导出“任何地址最后两段都是主域名”的万能规则。遇到不熟悉的后缀,应先确认其层级,而不是随意截取。
子域名是主机名的一部分,路径则位于主机之后。示例 guide.example.com 与 example.com/guide 中的 guide 所处位置不同:前者在主机名中,后者在路径中。这种区别有助于描述地址变化,但不能据此断言两个页面由同一个具体团队维护。
比较两个长地址时,可以先把主机名单独放在同一列,再另列路径。不把整条地址挤在一行,会更容易发现变化究竟发生在哪一段,也能减少把路径中的相似字词误读为域名的情况。
参考:MDN:域名的层级结构
熟悉的名称出现在不同位置,意义不同
示例一:example.net/guide.example.com。这里熟悉的 guide.example.com 出现在路径里,主机名仍是 example.net。示例二:example.net/?next=guide.example.com。查询参数中的文字也不是当前主机名。把完整地址分段,就能避免因为看到熟悉词语而忽略真正的访问位置。
还有一种更容易混淆的写法是 user@host。MDN 说明 URI 的 authority 部分可以包含用户信息、主机与端口;@ 前面的内容不能当作实际主机名。日常阅读遇到这类不熟悉形式时,先确认 @ 后的主机,不要急着按前面的名称归类。
把拆分结果用于实际记录
查找黑料不打烊地址发布页相关资料时,可以把地址保存为原文,再另开一行写主机名和路径。这样既避免手工删改造成信息丢失,也方便下次比较。如果只有路径变了,应记录“路径变化”;如果主机名不同,再继续核对它是子域名调整还是跨域变化。
这是一种阅读方法,不是所有权认证。地址结构正确、使用 HTTPS 或名称看起来熟悉,都不能单独证明正文中的声明可靠。最终仍要回到发布来源、具体内容和变更证据,地址拆分只是把判断的第一步做准确。
- 复制完整地址,保留原始版本。
- 定位协议之后的主机名,留意用户信息和端口。
- 将路径、查询和片段分开记录。
- 逐项比较变化,不用页面标题替代地址。
常见追问
www 是每个网站都必须有的吗?
不是。判断网址时应按实际主机名记录,不自行补加或删除 www,也不预设两种形式的内容完全相同。
路径里出现站名,可以当成该站页面吗?
不能。路径只是地址的一部分;需要先确认主机名,再结合页面来源判断身份。
参考资料
- MDN:What is a URL?
用于 URL 部件基础说明。
- MDN:URI authority
用于用户信息、主机及端口的边界说明。
- MDN:域名的层级结构
用于理解域名的层级,不将后两段截取法作为通用判断规则。