在发布个人项目或小型网站之前,你会遇到两个紧密相关的术语:域名和URL。理解它们各自标识什么、如何组合在一起,能帮助你从一开始就清楚地描述自己的网站地址。

域名与完整URL分别回答什么问题

假设你正在准备一个小型笔记网站,并在纸上写下了地址 https://example.org/notes/first-page?view=compact#intro 作为参考。这串字符完全是假设的,仅用于练习阅读地址的各个组成部分,不声称该页面真实存在或已经上线。

域名回答的问题是:你想访问互联网上的哪台服务器?域名是互联网基础设施的关键部分,因为它们为互联网上任何可用的网络服务器提供了人类可读的地址。计算机之间通过IP地址通信,而IP地址是数字,人们难以记住,并且可能随时间变化。域名用你可以阅读、输入和分享的文字替代了那串数字。1

完整URL回答的是一个更广泛的问题:你想获取那台服务器上的哪个具体资源?URL是互联网上唯一资源的地址,也是浏览器用来检索已发布资源(如HTML页面、CSS文档和图片等)的关键机制之一。因此,域名指向服务器本身,而完整URL指向该服务器所提供的某个特定条目。2

逐段阅读示例地址

回到假设地址 https://example.org/notes/first-page?view=compact#intro,逐一辨认每个组成部分。方案(scheme)是 https,表示浏览器请求资源时必须使用的协议。域名是 example.org,告诉浏览器要联系哪台网络服务器。路径是 /notes/first-page,表示资源在该服务器上的位置。查询字符串是 view=compact,由问号引导,向服务器提供额外参数。片段是 intro,由井号引导,相当于一个书签,指向资源内部的某个特定位置。2

阅读任何URL时,有两个标点符号可以作为可靠的引导。问号始终标志查询部分的开始,井号始终标志片段的开始。如果你在地址中看到问号,问号之后直到井号之前的内容都属于查询部分。如果你看到井号,井号之后的所有内容都是片段,并且片段标识符永远不会随请求发送给服务器。2

在我们的示例中,你可以从左到右扫描来确认各部分的边界。域名之后第一个单斜杠之前的所有内容属于方案和权限部分。随后的斜杠构成路径。问号开启查询,井号开启片段。这种从左到右的扫描方法适用于你遇到的任何标准网址,无论它属于真实项目还是练习。

同一主机下对比不同路径与查询

保持主机部分 example.org 不变,考虑假设地址的两个变体。如果将路径改为 /notes/second-page,字符串变为 https://example.org/notes/second-page?view=compact#intro。如果将查询改为 view=full,则变为 https://example.org/notes/first-page?view=full#intro。在两种情况下域名完全相同,不同的只是主机之后的字符串部分。

这些字符串差异在地址格式层面代表不同的请求。不同的路径指向服务器上不同的资源位置,不同的查询提供不同的参数。然而,服务器实际上如何处理每种组合,完全取决于该服务器的配置方式。URL格式本身不会告诉你两个路径是否返回相同内容,也不会告诉你某个查询参数是否会改变页面布局。你阅读的是地址的结构,而不是在预测服务器行为。

这个区分在你规划自己的网站时很重要。你可能会在纸上草拟几个页面地址,注意到它们共享相同的域名,但在路径或查询上有所不同。这种观察对组织内容很有用,但它本身并不能确认这些页面在网站建成后将以某种特定方式工作。地址结构是你控制的命名约定,每个地址背后的行为是另一个实现层面的问题。

为假设项目制作地址说明卡

为你的假设项目写一张简短的说明卡,记录三件事:页面的用途、完整的地址字符串,以及每个部分的标签。在我们的示例中,用途可以写成「第一个笔记页面的紧凑阅读视图」。完整地址是 https://example.org/notes/first-page?view=compact#intro。各部分为:方案 https、域名 example.org、路径 /notes/first-page、查询 view=compact、片段 intro。

这张说明卡是个人规划工具,不是技术规范。它的价值在于迫使你逐段审视每个部分,而不是把整串字符当作一个不透明的整体。当你以后需要向合作者解释地址、撰写文档或排查链接问题时,每个部分已经标注清楚可以节省时间并减少混淆。

你可以把说明卡保存在纯文本文件、笔记应用甚至手写卡片上。格式不重要,只要每个组成部分被清晰地分隔和命名即可。如果你的项目有多个页面,可以为每个地址创建一张卡片,将它们放在一起作为一小组参考资料。

手工核对说明卡

检查你的说明卡是否与实际字符串一致,是一个简单的手工过程。目标是确认每个标签对应正确的部分,没有遗漏或错位的片段。这是作者建议的做法,不是任何标准的要求。

因为下面每一步都是简单的视觉比对,你不需要任何特殊软件。使用等宽字体的文本编辑器可以帮助你看清字符边界,但对于像我们示例这样短的地址,普通笔记就足够了。

如果任何标签不匹配,在使用该说明卡撰写文档或分享给他人之前先修正它。路径中的一个小笔误或漏掉的问号都可能使描述产生误导,即使地址本身在格式上仍然有效。

步骤 1

将说明卡上的完整地址字符串复制到一个新的纯文本行中,这样你有一份可以标注的新副本,而不会改动原始记录。

步骤 2

标注域名部分,确认它与说明卡上的域名标签一致。在我们的示例中,验证 example.org 恰好出现在双斜杠和第一个单斜杠之间。

步骤 3

从域名后的第一个斜杠到问号之间标出路径。确认它读作 /notes/first-page,与说明卡上的记录一致。

步骤 4

从问号到井号之间标出查询部分,确认它读作 view=compact。然后在井号之后标出片段,确认它读作 intro。

保留说明供以后使用

记录你已核对的说明卡,存放在你日后撰写内容、分享链接或设置导航时会回看的地方。对于小型网站,在项目文件夹中放一个名为「地址笔记」之类的文件就足够了。重点不在于存储格式,而在于养成在需要之前就有标注好的参考资料的习惯。

当你的项目增长时,你可能会发现某些地址发生了变化。路径可能被重命名,查询参数可能被替换为另一个。当这种情况发生时,更新对应的说明卡并重新执行手工核对。这能让你的参考资料集与网站的实际结构保持同步。

说明卡的详细程度由你自己决定。有些人只记录完整地址和一行用途说明,有些人还会补充为什么选择了某个路径名称或查询参数控制什么。两种方式都可以。重要的是,说明卡能给你足够的上下文,让你以后不必从头逆向推导就能理解这个地址。

常见问题

域名和URL是同一个东西吗?

不是。域名标识的是服务器,而URL是包含方案、路径以及可选的查询和片段在内的完整地址。域名是URL中的一个组成部分。12

URL中井号后面的片段会发送给服务器吗?

不会。井号之后的部分称为片段标识符,它永远不会随请求发送给服务器。浏览器用它来定位已加载资源中的某个位置。2

这个说明卡方法也能用于真实地址吗?

可以。同样的标注和核对步骤适用于你遇到的任何真实地址。这里的假设示例只是一个安全的起点,方便你在将方法应用到自己的正式页面之前进行练习。