第一次准备个人网站时,域名和URL这两个词会反复出现。它们在浏览器地址栏里看起来很像,但回答的是不同的问题。本文用一个假设地址逐段拆解,帮助你在项目上线前就能读懂并描述任何网站地址。
域名与完整URL分别回答什么问题
假设你正在为一个读书小组搭建小型网站,用来发布阅读笔记。朋友问你「你的网站叫什么」,你可能会回答一个简短的名字,比如 example.org。这个简短的名字就是域名。根据 MDN 的说明,域名是互联网基础设施的关键组成部分,它为互联网上任何可用的网络服务器提供了一个人类可读的地址。计算机通过数字形式的 IP 地址来访问服务器,但人们很难记住这些数字,因此域名作为一种更友好的替代方式而存在。12
现在假设同一位朋友想直接链接到你阅读笔记中的某一页。你会给他一个更长的字符串,例如 https://example.org/notes/first-page。这个更长的字符串就是 URL。MDN 将 URL(统一资源定位符)定义为互联网上唯一资源的地址,并描述它是浏览器用来获取已发布资源(如 HTML 页面、图片和样式表)的关键机制之一。换句话说,域名标识的是服务器,而完整的 URL 则精确定位该服务器上的某一个特定资源。3
在本文中,我们将始终使用这个假设地址作为练习对象:https://example.org/notes/first-page?view=compact#intro。这个地址纯粹是为了练习拆解字符串而虚构的,它并不指向任何真实存在或已上线的页面。记住这个前提,我们就可以专注于结构本身,而不必担心页面是否能打开。
在本例中标出每一个组成部分
把完整地址单独写在一行上:https://example.org/notes/first-page?view=compact#intro。第一个片段 https 是协议方案。MDN 解释说,协议方案指示浏览器必须使用哪种协议来请求资源,对于网站来说通常是 HTTPS 或 HTTP。双斜杠之后、下一个斜杠之前的文本构成权威部分;在这里域名是 example.org。由于冒号后面没有出现端口号,浏览器将使用 HTTPS 的标准端口。3
域名之后是路径:/notes/first-page。MDN 指出,在早期互联网中,路径代表服务器上的物理文件位置,但现在它主要是由网络服务器处理的一种抽象,没有对应的物理实体。对于我们的阅读练习来说,重要的是路径告诉你在服务器上请求的是哪个资源。问号紧跟在路径之后,引出查询字符串。这里的查询是 view=compact,它是一个键值对,为服务器提供额外参数。MDN 将参数描述为键值对的列表,网络服务器可以使用这些参数在返回资源之前进行额外处理。3
最后,井号引出片段,在本例中是 intro。MDN 说明,锚点代表资源内部的一种书签,为浏览器提供指示,使其显示位于该书签位置的内容。MDN 还特别指出,井号之后的部分(称为片段标识符)永远不会随请求发送到服务器。因此,片段影响的是访问者在页面上看到的位置,但不会改变服务器交付的资源本身。3
保持主机不变,对比不同字符串的变化
保持主机部分 example.org 不变,只替换路径。将 https://example.org/notes/first-page 与 https://example.org/notes/second-page 对比。协议方案、域名以及路径之前的所有内容完全相同,只有最后一个路径段不同。仅从字符串本身就能看出,两个地址请求的是同一台服务器上的资源,但指向的是两个不同的资源。你无法仅凭字符串判断服务器是否会返回不同的内容、将其中一个重定向到另一个,还是返回错误。字符串告诉你请求的是什么,而不是服务器会怎么做。
现在保持路径不变,只改变查询。将 https://example.org/notes/first-page?view=compact 与 https://example.org/notes/first-page?view=full 对比。域名、路径和片段的位置都没有变化,只有与键 view 配对的值不同。同样,字符串告诉你请求者希望获得同一资源的不同展示或筛选方式。至于服务器是否接受该参数、忽略它还是对两者一视同仁,这是服务器配置的问题,而不是地址字符串本身能回答的。
这个区分在你规划自己的网站时很重要。你可能在设计阶段草拟多个 URL,想知道哪些部分由你的内容结构决定,哪些取决于服务器或平台的配置。地址字符串是你可以阅读、书写和核对的东西,不需要接触任何服务器。服务器行为是另一个层面,需要通过实际加载页面或查阅平台文档来确认。
为假设项目制作一张地址说明卡
记录一张简短的说明卡,每当你为项目中的某个页面确定地址时就填写一张。卡片不需要多精致,纯文本笔记或电子表格中的一行就够了。至少包含四个字段:用一句话说明页面用途、你打算使用的完整 URL、域名部分和路径部分。如果地址包含查询字符串或片段,也把它们作为单独的字段列出,这样你一眼就能看出哪些是结构性部分,哪些是可选的修饰符。
对于我们这个假设的读书小组项目,说明卡可以这样写。用途:小组阅读笔记的第一页。完整地址:https://example.org/notes/first-page?view=compact#intro。域名:example.org。路径:/notes/first-page。查询:view=compact。片段:intro。把每个部分写在单独一行上,之后核对时更容易发现拼写错误,因为你每次只需比较一个短字段,而不是一口气扫视一长串字符。
选择任何方便你快速浏览的格式。有人喜欢用表格,每个组成部分占一列;有人喜欢用项目符号列表。关键决定是把域名和路径分开,因为在建站时这两个部分是在不同地方管理的。域名与你的注册和命名选择相关,而路径反映的是你在服务器上构建的内容结构。在说明卡上把它们视觉上区分开,正好对应了这种实际的分离。
用手工复制与逐项标记来核对说明卡
检查说明卡上的完整地址,将它复制并粘贴到一个空白文本文件中。然后回到说明卡,再复制一次到另一行。逐字符比较这两行。这个手动重复的步骤能捕捉到意外的空格、缺失的斜杠或被调换的字符——这些错误在你快速阅读一个熟悉的字符串时很容易被眼睛跳过。
标注粘贴行上的每个组成部分。先标出协议方案,再标域名,然后路径,接着查询,最后如果有片段也标出来。核对各部分的边界是否与说明卡上写的一致。具体来说,确认问号位于路径和查询之间,井号位于查询和片段之间。如果任何一个分隔符缺失或放错了位置,浏览器对字符串的解读就会与你的意图不同。
核对每个标签值的拼写是否与你的笔记一致。在我们的例子中,这意味着确认 compact 这个词的拼写完全符合计划,而不是 compct 或大写的 Compact。路径段同样值得再看一遍:带连字符的 first-page 与带下划线的 first_page 或没有分隔符的 firstpage 是不同的字符串。这些细微差别对人类阅读没有影响,但对服务器来说它们是不同的地址。
保留这份说明供以后使用
把说明卡存放在你处理项目时经常查看的地方,比如存放草稿内容的同一个文件夹,或者你用来做规划的笔记应用。说明卡的价值不仅在于你第一次写下它的那一刻;它在几周后最为有用——当你需要把地址分享给合作者、嵌入文档,或者排查某个链接为何表现异常的时候。
当你为项目添加更多页面时,为每个页面创建一张新的说明卡。随着时间推移,你会拥有一份小型参考清单,能一目了然地展示网站结构。如果将来你决定重新组织路径或重命名页面,这些说明卡能给你提供前后对照记录,让你有意识地更新链接,而不是试图回忆旧地址长什么样。
列出你认为需要保留的细节程度即可。有人喜欢加一个日期字段,记录说明卡创建或最后核对的时间;有人喜欢加一条简短备注,说明为什么选择了那个特定的路径名称。这些附加内容都不是必需的。最简可用的说明卡只需包含完整地址和一句话的用途说明,因为这两项信息足以让任何未来的读者在不打开浏览器的情况下理解这个地址是做什么用的。
常见问题
域名和URL是同一个东西吗?
不是。域名标识的是服务器,而 URL 是完整的地址,还包含协议方案、路径,以及可选的查询字符串和片段。每个 URL 都包含一个域名,但仅有域名并不能指定你想访问该服务器上的哪个资源。13
井号后面的片段会发送到服务器吗?
不会。片段标识符供浏览器在已加载的资源内部滚动到书签位置使用,它永远不会包含在发送给服务器的请求中。3
仅凭URL能判断两个页面的内容不同吗?
不能可靠地判断。URL 告诉你请求的是什么,但服务器决定返回什么。两个不同的路径或查询字符串可能产生不同的内容、相同的内容,或者触发重定向,这取决于服务器的配置方式。
What is a Domain Name? - Learn web development | MDN. 采集日期:2026-11-01. ↩︎ ↩︎
IP Address - Glossary | MDN. 采集日期:2026-11-01. ↩︎
What is a URL? - Learn web development | MDN. 采集日期:2026-11-01. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎