在发布第一个网站之前,你会遇到两个相关但不同的概念:域名和完整URL。混淆它们可能导致与协作者沟通出错或文档记录有误。本文通过一个假设地址逐一标注各部分,并展示如何制作一张可复用的地址说明卡。

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

请看下面这个地址,我们将它纯粹作为拆解字符串的假设练习使用,不声称该页面真实存在或已经上线:https://example.org/notes/first-page?view=compact#intro。当有人问"你的网站在哪里"时,通常指的是域名,即标识承载内容的服务器或组织的名称。域名是互联网基础设施的关键部分,它为任何可用的网络服务器提供了一个人类可读的地址,解决了IP地址难以记忆且可能随时间变化的问题。1

完整URL回答的是一个更具体的问题:"我要访问那台服务器上的哪一个确切资源?"URL是互联网上唯一资源的地址,是浏览器用来获取已发布资源(如HTML页面、CSS文档、图片等)的关键机制之一。因此,域名指向的是整栋建筑,而完整URL指向的是建筑里某个具体的房间、书架甚至某一段文字。2

对首次建站者来说,保持这个区分有两个实际好处。第一,在对话或名片上分享网站地址时,通常只说域名就够了。第二,在编写文档、设置导航链接或排查页面故障时,需要思考包含路径和额外参数的完整URL。本文余下的部分将用同一个假设字符串来培养这个习惯。

在本例中标出各个组成部分

让我们把这个假设地址逐段拆开。方案部分是https,它指示浏览器必须使用哪种协议来请求资源。对于网站来说,协议通常是HTTPS或HTTP。接下来是权限部分,通过字符模式://与方案分隔。在本例中,权限部分就是example.org,即域名,表示正在请求哪台网络服务器。2

域名之后是路径:/notes/first-page。路径表示资源在网络服务器上的位置。路径后面跟着一个问号,它标志着查询字符串的开始。在本例中,查询是view=compact,一个键值对,用于向服务器提供额外参数。最后,井号引入片段标识符:intro。片段相当于资源内部的一个书签,为浏览器指示到该书签位置显示内容。值得注意的是,井号之后的部分不会随请求发送给服务器。2

总结标注结果:https是方案,example.org是域名即主机,/notes/first-page是路径,问号引入查询view=compact,井号引入片段intro。每个符号都充当分隔符,告诉浏览器和人类读者一个部分在哪里结束、下一个部分从哪里开始。识别这些分隔符是本练习要培养的核心能力。2

保持主机不变,对比不同路径与查询

现在保持主机部分example.org不变,只改变它后面的内容。设想第二个地址:https://example.org/gallery/photos?sort=date。域名完全相同,但路径变成了/gallery/photos而非/notes/first-page,查询变成了sort=date而非view=compact。这两个字符串指向同一台服务器上的不同资源,尽管主机部分没有任何变化。

请注意,我们这里只是在观察字符串的结构,并没有对真实服务器如何响应这些地址做任何推断,因为example.org在本练习中纯粹是占位符。关键在于路径和查询部分独立于域名承载含义。更长的路径如/notes/2024/march/first-page暗示更深的目录结构,而包含多个用和号分隔的参数的查询则会传递更多指令。

这个观察对你自己的项目规划有一个实际启示。当你草拟网站需要哪些页面时,本质上就是在草拟一份路径清单。当你考虑筛选、排序或显示偏好时,就是在思考查询参数。在动手搭建之前把这两类关注点在纸上分开,有助于组织内容,也更容易向协助你的人解释网站结构。

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

记录一张简短的说明卡来描述你的假设项目。说明卡至少应包含四个字段:用通俗语言写明页面用途、完整URL字符串、域名部分和路径部分。以本例而言,用途可以写成"个人笔记项目中第一篇笔记的精简阅读视图"。完整URL是https://example.org/notes/first-page?view=compact#intro。域名是example.org。路径是/notes/first-page。如果你觉得有用,可以把查询和片段作为可选的额外字段。

用你已经在用的任何项目笔记工具来写这张卡——纯文本文件、电子表格的一行或笔记应用都可以。格式的重要性远不如养成写下来的习惯。许多首次建站者只把地址留在浏览器历史记录或对话线程里,等到需要分享或调试链接时就很难找回。

如果你的项目最终会有多个页面,就为每个页面各做一张卡。随着时间推移,这组卡片会成为一份简单的站点地图,你可以在编写内容、设置导航或向协作者解释项目时随时参考。每张卡的投入很小,但当网站超过一个页面后,累积的清晰度会非常显著。

手工核对说明卡

写好说明卡之后,通过手动复制完整URL字符串并逐段标注来验证它。这一步能发现拼写错误和边界识别失误,而这些问题在只是扫一眼地址时很容易被忽略。

检查你的工作,问三个简单的问题。域名部分是否与说明卡上域名字段的内容一致?路径是否以正斜杠开头且不包含问号或井号?查询字符串是否只出现在第一个问号之后、井号之前?如果三个答案都是肯定的,说明卡与地址字符串是一致的。

每当你编辑说明卡或添加新页面地址时,重复这个验证过程。操作只需片刻,但能防止那种小错误——缺少一个斜杠、问号放错位置、字符顺序颠倒——在之后别人使用你记录的地址时造成困惑。

步骤 1

从说明卡中复制完整URL到一行空白文本中,然后在每个分隔符前后各插入一个空格:://模式、域名后的第一个正斜杠、问号和井号。

步骤 2

标注每个由此产生的片段所属的角色——方案、域名、路径、查询或片段——并将这些标注与说明卡上的字段逐项比对。

步骤 3

如果任何标注不匹配,修正说明卡并重复复制与标注的过程,直到每个片段都对齐为止。

保留说明卡供以后使用

把验证过的说明卡存放在你确实会回看的位置。笔记工具中的一个专用文件夹或项目目录中一个命名清晰的文件都可以。目标不是某种特定格式,而是在你下次坐下来写内容、更新导航或回答协作者关于某个页面在哪里的提问时能够可靠地访问。

随着项目演进,更新说明卡以反映变化。如果你重命名了路径或添加了新的查询参数,编辑对应的卡片并重新执行验证。这能让你的文档保持诚实,也省得几个月后凭记忆重建地址。

最后,考虑把卡片集合分享给任何参与网站贡献的人。一位能看到完整地址、其声明用途和各部分标注的协作者,会做出更少的假设、提出更好的问题。维护这些卡片的前期投入很小,但每次你因此避免一轮关于"你说的是哪个页面"的澄清时,它就在回报你。

常见问题

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

不是。域名标识承载内容的服务器或组织,而完整URL指定该服务器上某个确切的资源,包括路径、可选的查询参数和可选的片段。12

分享页面地址时需要包含片段吗?

不一定。片段指向页面内的特定位置,且不会发送给服务器。如果你希望对方落在页面顶部,可以省略它。只有当你想引导对方到某个特定部分时才需要包含。2

同一个域名可以用于许多不同的页面吗?

可以。域名标识主机,而该主机上每个不同的路径都可以指向不同的资源。这就是为什么一个域名能够承载整个多页面网站。2