准备第一个网站时,地址栏里那串字符看起来像一行连续的文字。实际上它由几个不同的部分组成,每个部分回答不同的问题。本文用一个假设地址来展示各部分的含义,并帮助你建立一份清晰的记录。
域名回答什么问题,URL回答什么问题
假设你正在搭建一个小型项目网站,有人问你的网站在互联网上的什么位置。最简短有用的回答是一个域名。域名是网络服务器的人类可读地址。互联网上的计算机通过数字形式的IP地址来访问,这些地址对人来说难以记忆且可能随时间变化,因此域名的存在就是为服务器提供一个稳定、便于记忆的标识。12
如果同一个人想找到你网站上的某个具体页面,而不仅仅是服务器本身,那就需要一个完整的URL。URL是互联网上唯一资源的地址。它包含域名,但还添加了进一步的指示,告诉浏览器使用哪种协议、请求哪个文件或端点,以及可选地显示文档的哪个部分。3
因此这两个概念在不同层面回答不同的问题。域名标识服务器,URL标识该服务器上的特定资源。接下来我们用一个假设地址来观察各部分如何组合在一起。这个地址纯粹用于说明,并不指向一个真实已发布的页面。
标出假设地址的每一个组成部分
我们的练习示例是 https://example.org/notes/first-page?view=compact#intro。从左往右阅读,可以分离出五个组成部分。方案是https,告诉浏览器使用超文本传输协议的安全版本。权限部分是example.org,即被请求服务器的域名。在大多数网页URL中,端口会被省略,因为服务器使用HTTPS的标准端口,所以这里权限部分仅由域名组成。3
权限部分之后是路径:/notes/first-page。路径告诉服务器要返回哪个资源。紧跟其后的问号引入查询字符串,其中包含服务器可以读取的参数。在我们的示例中,参数是view=compact,一个键值对。最后,井号引入片段标识符,在本例中是intro。片段指向资源本身内部的特定位置,而不是向服务器请求新的内容。3
更仔细地看域名部分,example.org本身由两个用点分隔的标签组成。标签org是顶级域名,是域名层级中最通用的部分。标签example是二级域名。它们共同构成一个完全限定域名,加上方案https://就将整个字符串变成了一个完整的URL。4
保持主机不变,对比不同路径与查询
保持主机部分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 共享相同的域名和相同的路径,但携带不同的参数。问号是标示查询开始的定界符。每个参数是一个键值对,多个键值对之间用和号分隔。服务器可能利用这些参数来改变返回的内容,但具体行为完全取决于该服务器的配置方式。
最后看片段。地址 https://example.org/notes/first-page#intro 和地址 https://example.org/notes/first-page#summary 指向服务器上的同一资源,但它们要求浏览器滚动到该资源内的不同位置。片段不会随请求发送到服务器;它只影响浏览器在资源到达后的显示方式。这个区别在规划链接时很重要:改变片段不会创建新的服务器端资源,而改变路径或查询则可能会。
为你的假设项目制作一张地址说明卡
记录一张简短的说明卡,写明地址的用途、完整字符串和各部分的分解。对于我们的假设项目,这张卡片可以这样写:用途是演示一个阅读笔记页面。完整地址是 https://example.org/notes/first-page?view=compact#intro。方案是https。域名是example.org。路径是/notes/first-page。查询是view=compact。片段是intro。
这张卡片的价值不在于记住术语,而在于拥有一份以后可以核对的参考。当你撰写文档、与合作者分享链接或排查一个失效地址时,可以查看卡片并快速识别哪个部分可能出了问题。如果链接加载了错误的页面,路径是首先要检查的地方。如果页面加载了但显示错误的视图模式,查询参数是可疑对象。如果页面正确加载但没有滚动到预期的位置,片段很可能是问题所在。
制作这张卡片不需要任何特殊工具。一个纯文本文件、项目笔记中的一条记录,甚至一张手写便签都可以。重要的是地址的每个部分都标注了它的角色,而不仅仅是作为原始字符串复制下来。随着网站增长、你管理的地址越来越多,这个习惯会变得更加有用。
用手工抄写与逐项标注核对说明卡
检查你的地址说明卡是否与实际字符串一致,方法是逐字符将完整URL抄写到一行空白处。这个练习不要依赖自动补全或粘贴快捷键;重点是注意到每一个定界符。抄写时在每个特殊字符处暂停:方案后的冒号和双斜杠、路径的第一个斜杠、问号、查询中的等号、片段前的井号。
标注每个片段旁边的角色名称。对于方案,写协议名称。对于域名,写完整的域名。对于路径,注明每个斜杠引入了哪一级目录。对于查询,分别写出参数名和参数值。对于片段,写它指向页面的哪个部分。这个标注步骤将一条不透明的字符串变成五个可理解的片段。
用第二遍确认你的标签符合规则。方案必须出现在冒号-斜杠-斜杠分隔符之前。域名必须出现在该分隔符与下一个斜杠之间。路径以斜杠开始,一直延续到问号、井号或字符串末尾。查询从问号开始,延续到井号或末尾。片段从井号开始,延续到末尾。如果任何标签不符合这些边界,你就找到了说明卡中的一个错误。
步骤 1
逐字符将完整URL手工抄写到一行空白处,在每个定界符处暂停。
步骤 2
为每个片段旁标注角色名称:方案、域名、路径、查询、片段。
步骤 3
确认每个标签位于正确的定界符之间,符合上述规则。
保留这份记录供日后写作与沟通使用
把完成的说明卡存放在你实际会查看的地方。如果你维护一本项目笔记本,把它贴在第一页。如果你使用数字笔记工具,把它固定在项目工作区。目标不是建立一个地址数据库,而是为你当前关心的地址保留一份可靠的参考。随着网站增长,你可以添加更多卡片,每个重要页面或端点一张。
当你与别人分享一个地址时,参考你的卡片来决定包含多少细节。随口一提可能只需要域名。技术说明可能需要包含查询在内的完整URL。支持请求可能需要你指明期望看到哪个片段。提前写好分解结果,能避免你在紧迫情况下重新解析字符串。
随着时间推移,这个做法会培养你对地址结构的直觉。你会开始注意到规律:你的网站实际使用了哪些参数,哪些片段对应哪些章节,哪些路径在内容重组时容易变化。这种直觉才是真正的收获。说明卡只是帮助你到达那一步的脚手架。
常见问题
域名和URL是同一个东西吗?
不是。域名标识服务器,而URL标识该服务器上的特定资源。URL包含域名,并额外包含方案、路径、查询和片段等部分。13
改变井号后面的片段会向服务器请求不同的页面吗?
不会。片段标识符不会随请求发送到服务器。它只告诉浏览器在已加载的资源内滚动或定位到哪个位置。3
每次写URL都需要包含端口号吗?
大多数情况下不需要。如果服务器使用其协议的标准端口,端口会从URL中省略。只有当服务器使用非标准端口时才需要包含。3
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. ↩︎ ↩︎ ↩︎ ↩︎ ↩︎ ↩︎
TLD - Glossary | MDN. 采集日期:2026-11-01. ↩︎