在发布第一个网站之前,你会遇到两个相关但不同的概念:域名和完整URL。本文用一个假设地址演示各部分如何组合在一起,以及为什么保留一份简短的书面记录能在日后减少困惑。
域名与URL分别回答什么问题
假设你正在规划一个小型个人项目,在便签上写下了地址 https://example.org/notes/first-page?view=compact#intro 。这个字符串完全是假设的,并不声称该页面真实存在或已上线。把它写下来的目的是获得一个可以逐段拆解的具体字符串,而不是试图记忆抽象定义。
域名回答的问题是「我要访问哪台服务器」。域名是互联网基础设施的关键组成部分,因为它为互联网上任何可用的网络服务器提供了一个人类可读的地址。计算机通过数字形式的IP地址通信,但人们很难记住这些数字,因此域名充当了便于记忆的标签,代替底层的数字编号。1
完整URL回答的是一个更广泛的问题:「我要获取那台服务器上的哪个具体资源,以及应该怎样请求它」。URL是互联网上唯一资源的地址,也是浏览器用来获取已发布资源(如HTML页面、CSS文档和图片)的关键机制之一。换句话说,域名是URL内部的一个组成部分,而URL还可以携带关于确切页面、格式或页面内位置的额外信息。2
在示例地址中标出每个部分
从左到右阅读假设字符串 https://example.org/notes/first-page?view=compact#intro 。方案是 https,它告诉浏览器在请求资源时使用安全的HTTP协议。授权部分紧跟在 :// 分隔符之后,这里是 example.org,即标识目标服务器的域名。路径是 /notes/first-page,指向该服务器上的一个具体资源。问号引导查询字符串 view=compact,这是一组键值对,向服务器提供额外参数。井号引导片段 intro,它充当日后返回文档中的书签位置。2
有两个标点符号值得特别注意,因为它们容易混淆。问号始终标志查询字符串的开始,问号与下一个井号(或字符串末尾)之间的内容都属于查询部分。井号始终标志片段标识符的开始,而片段永远不会随请求发送到服务器;它只告诉浏览器在已收到的文档中滚动到哪个位置。2
在域名部分本身,example.org 遵循域名的结构描述:各部分由点分隔,从右向左阅读。最右边的部分 org 是顶级域名(TLD),它提供服务用途的一般线索。其左侧的标签 example 是二级域名。它们共同构成浏览器用来定位正确服务器的完全限定域名。13
主机不变时路径与查询的变化
现在保持主机部分 example.org 不变,设想两个变体。第一个是 https://example.org/notes/second-page?view=full ,第二个是 https://example.org/gallery/thumbnails?sort=date 。在两种情况下,浏览器都会联系由 example.org 标识的同一台服务器,但路径和查询不同。第一个变体请求 notes 目录下的另一个页面,并要求完整视图而非紧凑视图。第二个变体转移到一个名为 gallery 的完全不同的目录,并传递排序参数而非视图参数。
这个对比突出了一个实用要点:改变路径或查询会产生不同的URL,即使域名保持不变。路径和查询的每种不同组合都可以指向服务器上的不同资源。你不需要推断服务器实际上会如何处理这些参数;仅凭字符串本身就能看出这是三个独立的地址。
列出你自己项目地址的两到三个变体,只改变路径或查询,保持主机不动,写在纸上。这个简单练习能清楚地表明地址的哪个部分控制哪个层级的具体性。它还能帮助你注意到计划的页面结构是否使用了一致的命名,这在你日后与他人分享链接时会很重要。
为假设项目制作地址说明卡
记录一张简短的说明卡,描述你的假设项目。卡片只需要四行:页面的目的、完整URL字符串、各部分的标注列表,以及一句关于你为什么选择这种结构的说明。对于本文使用的示例,目的可以写成「我的第一篇笔记的紧凑阅读视图」,完整URL就是我们一直在检查的字符串,各部分是方案、主机、路径、查询和片段,说明则解释片段指向一个引言标题。
这张卡片的价值不在于格式,而在于把每个部分单独写出来的动作本身。当你把路径、查询键和片段名称分别拼写为独立条目时,你就创建了一个日后可以对照实际站点核对的参考。如果你更改了页面名称或添加了新参数,可以将实际地址与卡片对比,快速发现不匹配之处。
选择你最方便维护的格式:纯文本文件、电子表格中的一行,或笔记本里的便签。重要的决定是把四行内容集中在一个地方,而不是把信息分散在不同的笔记中。对于小型项目,每个页面或每个站点板块一张卡片通常就够了。
手工核对说明卡
检查你的说明卡时,从浏览器地址栏复制完整URL,粘贴到一行空白处。然后逐字符浏览粘贴的字符串,标出每个部分的起止位置。在方案之前、主机之后、查询之前和片段之前各放置一个小斜杠或括号。这个手工标记步骤能捕获你以正常速度阅读地址时看不到的拼写错误。
将标记后的字符串与你之前写的卡片对比。如果卡片上写的路径是 /notes/first-page,但粘贴的地址显示为 /notes/firstpage,你就发现了一个值得在分享链接之前修正的差异。查询键也是如此:view=compact 和 view=compct 一眼看去几乎相同,但输入浏览器后行为会不同。
每次重命名页面、添加参数或移动站点板块时,重复这项检查。每个地址只需花一分钟,而且它能培养你把URL当作精确字符串而非近似标签来对待的习惯。随着时间推移,你会发现小型站点上的大多数地址错误来自单个字符的拼写失误,而非对URL工作方式的概念性误解。
保留记录供日后使用
说明卡核对完毕后,把它存放在你在撰写内容、发送链接或更新导航菜单之前确实会查看的地方。许多首次建站者发现,几周过后他们已经记不清页面究竟在 /notes/first-page 还是 /note/first-page。一张保存好的卡片能完全消除这种猜测。
你也可以在与协作者沟通或在论坛提问时使用这些卡片。把完整URL连同你标注的各部分一起粘贴出来,就能让帮助你的人获得所需的确切信息,而不必来回追问。如果你的问题涉及重定向、失效链接或某个似乎未按预期工作的参数,这种做法尤其有用。
组织这些记录没有唯一正确的方式。有人按页面各保留一张卡片,也有人按站点板块分组。唯一的要求是每张卡片都包含完整地址和各部分标注,使你或其他人仅凭卡片就能重建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. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎
TLD - Glossary | MDN. 采集日期:2026-11-01. ↩︎