网站上线之前,地址需要对你自己和将来输入它的访客都说得通。本文用一个假设地址演示域名告诉你什么、完整URL在此之上又增加了什么,以及如何把每一部分记录下来,避免建站时混淆。
域名与完整URL分别回答什么问题
假设你正在规划一个小型个人项目,在便签上写下了地址 https://example.org/notes/first-page?view=compact#intro 。这个地址完全是假设的,不指向任何真实页面,它在这里只是为了方便我们拆解。即使只看一眼,你也能发现它包含的信息远不止一个域名。理解每一层贡献了什么,能帮助你在之后配置自己的站点时避免混淆。
域名回答的是一个具体问题:互联网上哪台服务器应当处理这个请求?域名为互联网上任何可用的网络服务器提供了人类可读的地址,因为计算机实际使用的数字IP地址对人类来说难以记忆,而且可能随时间变化。在我们的例子中,example.org 就是域名。它标识了一个目的地,但并没有说明你想要那个目的地上的哪个页面、文件或区段。1
完整URL回答的是一个更宽泛的问题:那台服务器上的哪个唯一资源,以及在什么条件下?URL是互联网上唯一资源的地址,也是浏览器用来获取已发布资源(如HTML页面、图片或样式表)的关键机制之一。如果域名指向一栋建筑,那么URL的其余部分就指定了房间、书架、甚至你想读的那一段。这个区分是本文后续所有内容的基石。2
逐段标出示例地址的各个部分
回到 https://example.org/notes/first-page?view=compact#intro ,为每个组成部分贴上标签。方案是 https,它告诉浏览器请求资源时应使用哪种协议。权限部分紧跟在 :// 分隔符之后,包含域名 example.org。域名之后是路径 /notes/first-page,它将请求缩小到该服务器上的一个具体位置。问号引出查询字符串 view=compact,井号引出片段标识符 intro。每一个定界符都标记了一种信息与下一种信息之间的边界。2
问号和井号承担的角色不同,但容易被混为一谈。问号后面的参数是提供给网络服务器的额外键值对,服务器可以利用它们在返回资源之前做额外处理。井号后面的片段则不同,它永远不会随请求发送到服务器。片段相当于资源内部的一个书签,为浏览器指出应显示文档中哪个已标记位置的内容。在我们的例子里,view=compact 是服务器会收到的信息,而 intro 是返回文档中的一个位置。2
注意域名 example.org 位于URL内部,但它并不是URL的全部。初次建站者常见的困惑之一,就是把域名和地址栏里的完整内容当作同一回事。它们有关联但并不相同。域名是URL的一个组成部分,就像街道名是完整邮政地址的一个组成部分一样。记住这个层次关系,下一节的比较会清晰得多。2
同一主机、不同路径与查询
现在保持主机部分 example.org 不变,只改变它后面的内容。将 https://example.org/notes/first-page?view=compact#intro 与 https://example.org/notes/second-page?view=full 以及 https://example.org/about 做比较。三者共享同一个域名,意味着它们指向同一台服务器。然而每个字符串都是不同的URL,指向不同的资源或同一资源的不同呈现方式。路径改变请求的内容,查询改变内容的展示方式,片段改变浏览器加载后滚动到的位置。
在这个阶段,不要推断服务器实际会如何处理这些字符串。我们是在把地址当作一段结构化文本来阅读,而不是在测试真实行为。example.org 是否真的在 /notes/second-page 处提供页面,或者是否接受 view=full 参数,这些是运行那台服务器的人才能回答的问题。我们的练习重点在于识别字符串的每一段承载着不同类型的指令,并且改变其中一段就会产生一个不同的地址,即使域名保持不变。
这个观察对你自己的项目规划有实际意义。如果你打算在一个域名下发布多个页面,每个页面都需要自己的路径。如果一个页面提供备选视图或筛选器,它们很可能以查询参数的形式出现。如果你想把读者链接到长页面中的某个特定区段,片段标识符可以做到这一点。在动手搭建之前,把几个候选URL写在纸上,能帮你检查预想的结构是否一致、是否容易向别人解释清楚。
为假设项目制作地址说明卡
记录你假设项目的目的,用一句话写在小卡片或笔记文件的顶部。就本练习而言,目的可以写成:一个带紧凑阅读视图的个人笔记站点。先写下目的,能给你一个参照点,之后检查地址各部分是否仍然符合最初意图时就用得上。
在下一行写出完整地址 https://example.org/notes/first-page?view=compact#intro 。在它下方,为每个组成部分各写一行:方案、域名、路径、查询和片段。填入你在前面拆解中确认的值。这张卡片不是技术配置文件,而是一份用日常语言写的摘要,你可以拿给协作者看,也可以在搁置一段时间后重新翻看,提醒自己每一部分意味着什么。
考虑在查询和片段条目旁边加一条简短说明,解释你为什么这样选择。例如,你可以写明 view=compact 的意图是为小屏幕读者减少视觉干扰,而 intro 标记的是页面的开头区段。这些理由说明是可选的,但当你几周后回到项目、需要回忆当初的想法而不必从头推导时,它们就很有价值。
手工核对说明卡
一次快速的手工检查能在造成后续混乱之前发现拼写错误和标错的段落。以下过程是一组作者建议,不是任何规范的要求。请根据你偏好的笔记工具自行调整。
检查你写下的地址中每个定界符是否与卡片一致。确认冒号加双斜杠的序列出现在方案与域名之间,路径以正斜杠开头,问号在查询之前恰好出现一次,井号在片段之前恰好出现一次。如果任何定界符缺失或重复,先修正卡片再继续。
将卡片上的条目与原始字符串逐字对比。一个放错位置的斜杠或拼错的参数名就会产生一个不同的地址,即使乍看之下几乎一模一样。这种仔细抄写的习惯在你之后把地址转入配置文件、内容中的链接或发给协作者的消息时尤其有用。
步骤 1
从卡片上把完整地址抄到一行空白文本中,手动输入而不是粘贴,这样你能在输入过程中注意到每一个字符。
步骤 2
标注方案、域名、路径、查询和片段之间的边界,用荧光笔或不同文字颜色,每个组成部分用一种颜色。
步骤 3
逐段朗读每个高亮部分,确认它与说明卡上的标签一致。如果某段不匹配,更新卡片并重复检查。
保留说明供日后参考
卡片通过手工检查之后,把它存放在你真正会再次查看的地方。笔记应用里的专用文件夹、项目目录中置顶的文件、甚至贴在桌面上方的实体索引卡都可以。格式不如习惯重要——每当你新增页面、修改查询参数或向别人解释站点结构时,都要回来翻看它。
随着项目增长,你可以用同样的卡片格式扩展到更多地址。每个新页面各占一行,写上完整URL和简短的目的说明。日积月累,这组记录就成了你站点的轻量地图,不必打开浏览器就能审阅。当你最终需要更新链接、撰写文档或把项目交给另一个人时,它也能充当核对清单。
记录什么由你自己决定。有人觉得记下每个地址的添加日期或选择某个路径名的理由很有帮助,也有人只保留地址和组成部分、把卡片维持在最简状态。两种方式都没有对错。目标只是拥有一个单一且可靠的地方,把网站地址的完整结构写下来,这样你永远不必单凭记忆去重建它。
常见问题
域名和URL是同一个东西吗?
不是。域名标识服务器,而URL是完整地址,还包含方案、路径以及可选的查询或片段。域名只是URL内部的一个组成部分。12
井号后面的片段会发送到服务器吗?
不会。片段标识符永远不会随请求发送到服务器。它告诉浏览器在已加载的文档中滚动到哪个位置。2
上线一个简单站点之前,我需要理解URL的每个部分吗?
对于基础站点,你主要需要知道自己的域名和页面的路径。查询和片段在你添加筛选器、视图或页内链接时才会用到,可以随着项目发展逐步学习。
What is a Domain Name? - Learn web development | MDN. 采集日期:2026-11-01. ↩︎ ↩︎
What is a URL? - Learn web development | MDN. 采集日期:2026-11-01. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎