当你第一次准备建站时,“域名”和“URL”这两个词会反复出现。它们密切相关,但回答的是不同的问题。本文用一个假设地址来展示字符串各部分的作用,以及如何清晰地记录它。

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

假设你正在规划一个小型个人项目网站,想弄清楚将来要分享给访客的地址到底是什么。域名是互联网上任何可用网络服务器的人类可读地址。计算机通过数字形式的IP地址访问服务器,但人们很难记住这些数字,而且它们可能随时间变化,因此域名为每台服务器提供了一个人类可以阅读和记忆的名称。1

URL是互联网上唯一资源的地址。域名标识的是服务器本身,而URL更进一步,指定了该服务器上你具体想要哪个资源。这个资源可以是某个页面、一张图片或一份样式表。理论上,每个有效的URL都指向一个唯一的资源。2

对于第一次建站的读者来说,实际区分很直接:域名回答的是“哪个站点”,完整URL回答的是“该站点上的哪个具体东西”。了解这个区别有助于你规划页面结构、向他人描述你的地址,以及在某些内容无法正常加载时排查问题。12

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

为了让这些定义变得具体,我们使用一个假设地址来练习:https://example.org/notes/first-page?view=compact#intro —— 这个地址并不指向真实页面,也没有在任何地方发布。它存在的唯一目的是让我们标注各部分并练习阅读URL字符串。2

从左到右阅读:方案(scheme)是https,表示浏览器请求资源时必须使用的协议。主机(host)是example.org,标识网络服务器。路径(path)是/notes/first-page,指向该服务器上的一个具体资源。查询字符串从问号开始:?view=compact提供额外参数。片段从井号开始:#intro充当资源内部的书签,告诉浏览器显示该位置的内容。2

两个标点符号充当可靠的边界。问号始终引导URL的查询部分,井号始终引导片段。问号与井号之间的内容属于查询;井号之后的所有内容都是片段。如果查询或片段缺失,对应的标点符号就不会出现。2

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

现在保持主机部分固定为example.org,只改变路径。如果路径从/notes/first-page变为/notes/second-page,URL字符串就会指向同一服务器结构中的不同位置。域名完全没有变化,只有域名之后的部分不同。这说明路径才是区分同一站点上不同资源的关键。

你也可以在保持其他部分不变的情况下修改查询字符串。将view=compact替换为view=full,就会产生一个不同的URL字符串。这里我们只是在观察文本如何变化,并没有对任何特定服务器实际会如何处理这些参数做出断言。每台网络服务器对参数有自己的处理规则,了解某台服务器是否处理特定参数的唯一可靠方式是询问该服务器的所有者。

最后,你可以完全移除片段。去掉#intro之后,URL仍然指向服务器上的同一资源,因为片段标识符不会随请求发送到服务器。它只告诉浏览器在资源加载完成后滚动到文档中的哪个位置。这一观察来自阅读字符串结构,而非测试任何在线服务器。

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

记录你的假设项目目的,用一句话写在笔记或文档的开头。对于我们的练习,目的可以是:“一个带有紧凑阅读视图的简单笔记页面。”先写下这句话,能让之后阅读说明卡的人立刻获得上下文,而不需要反向推导地址的含义。

列出完整地址写在下一行:https://example.org/notes/first-page?view=compact#intro —— 然后在下方逐一列出各部分标签:方案(https)、主机(example.org)、路径(/notes/first-page)、查询(view=compact)、片段(intro)。这种拆解把整个字符串分成可理解的片段,在你需要手动输入地址时更容易发现错误。

添加一条简短备注,说明哪些部分是你刻意选择的、哪些只是占位符,这能帮助未来的自己。例如,你可以写“example.org是占位主机”或“view=compact是我计划使用的默认显示模式”。这些注释把一串原始字符变成了一小段项目文档,几个月后回看也不会感到困惑。

用手工复制与逐项标记核对说明卡

检查你的说明卡是否与原始地址逐字符一致。将完整URL复制到一个纯文本编辑器中,然后在每个标点边界前插入空格或换行:方案后第一组斜杠之前、路径第一个单斜杠之前、问号之前、井号之前。这种视觉分隔能让缺失或错位的部分一目了然。

标注每个片段,直接在文本编辑器中为各段添加注释或括号说明。例如,在https旁写“方案”,在example.org旁写“主机”,依此类推。如果某个片段与你预期的五个部分之一不匹配,可能存在拼写错误或多余字符需要处理。

每次向项目笔记中添加新的页面地址时都执行这个核对步骤。这个习惯只需片刻,但能捕获常见错误,例如主机与路径之间缺少斜杠、问号被放在了片段之后、或者片段标识符被意外包含在查询字符串中。

保留这份说明供以后写作或沟通使用

将你的地址说明卡存放在你撰写内容或向合作者解释项目时会自然查看的地方。项目文件夹中的一个简单文本文件就很合适,因为它随其他笔记一起存放,不依赖任何特定工具或服务。

你不需要每次添加新页面时都更新这张卡。它的主要价值在于把地址的结构逻辑集中记录在一处。当你最终添加更多页面时,可以按相同格式扩展说明卡:目的、完整地址、各部分标签。

这种做法是个人组织选择,而非技术要求。有人喜欢用电子表格记录地址笔记,有人用维基页面,还有人直接依赖浏览器历史记录。关键在于,拥有一份URL各部分的书面拆解能让沟通更清晰,降低分享残缺或不完整地址的可能性。

常见问题

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

不是。域名标识的是网络服务器,而完整URL标识的是该服务器上的某个具体资源。域名是更大URL字符串中的一个组成部分。12

URL中的问号表示什么?

问号引导URL的查询部分。问号与井号之间(如果没有片段则到字符串末尾)的所有内容由提供给网络服务器的键值参数组成。2

井号后面的片段会发送到服务器吗?

不会。片段标识符不会随请求发送到服务器。它只告诉浏览器在资源加载完成后滚动或跳转到文档中的哪个位置。2