准备第一个网站时,地址栏里那串字符可能让人感到困惑,因为域名和URL这两个词经常被混用。本文用一个明确标注为假设的地址,逐段展示每个部分的含义,并帮你为自己的项目保留一份简单的记录。
域名与完整URL分别回答什么问题
假设你正在规划一个小型个人项目站点,用来发布读书笔记。你听别人说过“买一个域名”,也听人说过“设置一个URL”,但不确定这两者是不是同一回事。一个有用的办法是看一条完整的地址,问每个部分在传达什么信息。本练习使用的地址是 https://example.org/notes/first-page?view=compact#intro 。这个地址纯粹为拆解字符串而虚构,不指向任何真实存在或已上线的页面。
域名回答的问题是:你想到达哪台服务器或哪个站点?域名是互联网基础设施的关键部分,它为互联网上任何可用的网络服务器提供了一个人类可读的地址,因为计算机使用的数字IP地址既难以记忆,也可能随时间变化。在我们的例子中,域名部分是 example.org,它标明了大致的目的地,但不指定该目的地上的任何具体页面或资源。12
完整URL回答的问题更具体:在那台服务器上,到底访问哪个资源、用什么方式、附带什么额外指令?URL是互联网上唯一资源的地址,由不同部分组成,有些是必需的,有些是可选的。我们的示例URL不仅包含域名,还包含协议标识、指向特定页面的路径、查询字符串和片段标识符。这些部分合在一起告诉浏览器定位并显示某一段特定内容所需的全部信息。3
在本例中标出地址的各个组成部分
逐段标出 https://example.org/notes/first-page?view=compact#intro 的每个组成部分。第一段 https 是方案(scheme),它指示浏览器请求资源时必须使用的协议;对网站而言通常是HTTPS或其未加密版本HTTP。方案与地址其余部分之间用 :// 这个字符组合分隔。3
接下来是权限部分(authority),在本例中就是 example.org。这是域名,标明正在请求哪台网络服务器。域名本身也有内部结构:各标签用圆点分隔,从右往左读,最右边的部分是顶级域。这里 .org 是顶级域,example 是排在它前面的标签。13
域名之后是路径:/notes/first-page。路径指向网络服务器上的一个特定资源。在早期,这样的路径代表服务器上的物理文件位置,如今它大多是网络服务器处理的抽象概念,并不对应真实的物理文件。路径之后,问号引导查询字符串:view=compact。查询参数是提供给网络服务器的额外键值对,服务器可以利用它们在返回资源之前做额外处理。最后,井号引导片段:intro。片段相当于资源内部的一个书签,告诉浏览器显示该书签位置的内容。片段标识符不会随请求发送到服务器。3
保持主机不变,对比不同路径和查询字符串
现在把主机部分固定为 example.org,只改变路径。比较 https://example.org/notes/first-page 与 https://example.org/notes/second-page 以及 https://example.org/about 。三条地址的方案和域名完全相同,只有路径段不同。每条路径名义上指向同一台服务器上的不同资源或位置。我们在这里只是阅读字符串的结构,并不对任何特定服务器实际会返回什么内容做推断。
接下来保持路径不变,改变查询字符串。比较 ?view=compact 与 ?view=full 以及完全没有查询的情况。问号标志着查询部分的开始;没有问号时,路径之后的内容就不存在。不同的查询字符串代表提供给服务器的不同参数组合。同样,我们是在观察字符串如何组成,而不是预测服务器行为,因为每台网络服务器对参数有自己的规则。
最后注意片段。把 #intro 换成 #summary 或者完全去掉片段,都不会改变浏览器发送给服务器的请求,因为片段由浏览器在资源加载后本地处理。分享链接时值得记住这个区别:只有片段不同的两个URL指向同一个服务器资源,但可能让查看者滚动到页面内的不同位置。
为你的假设项目做一张地址说明卡
记录一张简短的说明卡,用于你自己的假设项目。以我们的读书笔记站点为例,说明卡可以包含四个字段:用途、完整地址、主机、路径与查询。用途用一句平实的话说明这条地址为什么存在,例如“我的读书笔记合集的着陆页”。完整地址字段存放你打算分享的那条完整URL字符串。主机字段单独列出域名部分。路径与查询字段列出域名之后的所有内容,这样你一眼就能看出哪些部分是内容相关的,哪些是全站共用的。
这张说明卡是个人整理工具,不是技术要求。它的价值在于迫使你在开始搭建或分享链接之前分别思考每个部分。如果以后增加更多页面,可以在同一张卡上添加行,主机字段保持不变,路径与查询字段随之变化。随着时间推移,说明卡会成为任何协助你项目的人的快速参考。
把说明卡写在纯文本文件或简单笔记里,而不是埋在复杂的工具中。目标是有一个地方可以让你不打开浏览器、不登录任何服务就能一眼看到地址的结构。如果以后决定修改路径或增加查询参数,可以先更新说明卡,再在站点文件中做相应修改,减少不一致的可能。
用手工复制与逐项标记核对说明卡
检查你的说明卡与实际地址字符串是否一致,使用一种简单的手工方法。把完整URL复制到一个空白文本行。然后从左往右,在每个组成部分结束、下一个开始的位置插入一条竖线:方案之后、双斜线之后、域名之后、路径之后、问号之前、井号之前。在每段上方标注组件名称。如果任何标注与说明卡上的记录不符,你就发现了一处需要修正的差异。
用第二遍核对分隔符本身。冒号加双斜线的组合必须恰好出现一次,位于方案与权限之间。问号最多出现一次,井号最多出现一次且只能在查询之后。如果你发现两个问号或者井号出现在问号之前,说明字符串的结构不符合你的意图。
每次编辑地址或在同一主机上创建新页面时都重复这项检查。练习只需一分钟,却能帮你养成把地址当作结构化字符串来阅读的习惯,而不是当作一串不透明的字符。
步骤 1
从说明卡中复制完整URL到一个新的空白行。
步骤 2
在每个组件边界插入竖线:方案之后、:// 之后、域名之后、路径之后、问号之前、井号之前。
步骤 3
在每段上方写出组件名称,与说明卡上的对应字段比较。
步骤 4
确认 :// 出现一次、问号最多出现一次、井号最多出现一次且只在查询之后。
保留这份说明供以后写作或沟通使用
把完成的说明卡存放在你日后自然会看到的地方:项目文件夹、置顶笔记或规划文档的专门部分。具体位置不如一致性重要。当你隔一段时间回来继续工作时,说明卡能让你迅速想起哪条路径对应哪个页面、你选了哪些查询参数,而不必从记忆中重新推导结构。
如果你与另一个人协作,分享说明卡能让对方获得你在练习中建立的结构理解。他们可以一眼看出主机是共用的、路径区分页面、查询参数携带可选指令。这减少了来回提问,也更容易发现有人不小心改了路径或漏掉了查询字符串。
随着时间推移,说明卡可能会演变。你可能会增加一列记录每条地址最后更新的日期,或者加一条简短注释解释某个查询参数为什么存在。这些添加是你自己的选择,没有唯一正确的格式。重要的习惯是把你的网站地址当作一个可以检查和记录的结构化对象,而不是不假思索地复制粘贴的字符串。
常见问题
域名和URL是同一个东西吗?
不是。域名标识你要到达的服务器或站点,而完整URL还指定了协议、到达资源的具体路径,以及可选的查询字符串和片段。域名是URL内部的一个组成部分。13
URL中井号后面的片段会发送到服务器吗?
不会。井号之后的片段标识符不会随请求发送到服务器。浏览器在资源加载后本地使用它,滚动到已加载内容中被书签标记的位置。3
上线一个简单网站之前需要理解所有URL规则吗?
不需要。你最常接触的核心部分是方案、域名和路径。查询字符串和片段会随着站点增长才变得相关,你可以从基础开始,以后再增加复杂度。
What is a Domain Name? - Learn web development | MDN. 采集日期:2026-11-01. ↩︎ ↩︎ ↩︎
How does the Internet work? - Learn web development | MDN. 采集日期:2026-11-01. ↩︎
What is a URL? - Learn web development | MDN. 采集日期:2026-11-01. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎