准备上线第一个网站时,你会在建站工具、浏览器地址栏和注册表单中反复遇到域名、URL、路径这些术语。理解它们各自的作用和组合方式,能帮助你选出一个可用的地址、清楚地传达给别人,并避免常见的配置错误。本文用一个假设示例逐段拆解完整地址,再给出几条可以立即动手的建议。

逐段阅读一个完整的网站地址

假设你正在规划一个个人园艺博客,在笔记本上写下了这样一个地址:https://www.mygardenblog.com/plants/tomatoes?season=spring#care-tips。这是一个纯粹的假设示例,并非真实网站,但它包含了你在处理网站地址时会遇到的所有主要组成部分。从左往右阅读,可以识别出五个不同的部分:协议(https)、域名(www.mygardenblog.com)、路径(/plants/tomatoes)、查询参数(?season=spring)和锚点(#care-tips)。每个部分承担不同的职责,分开理解之后,整个地址就不再显得复杂。1

协议告诉浏览器应当用哪种方式请求资源。对于网站来说,这几乎总是HTTPS或其未加密的前身HTTP。域名标识你想访问的那台具体服务器。路径将请求缩小到该服务器上的某个特定资源,就像街道地址把投递范围缩小到某一栋建筑。查询参数向服务器传递额外信息,锚点则指向返回文档内部的某个具体位置。你不需要一次记住所有这些概念,能在真实地址栏中辨认出它们就是实用的第一步。1

把这个假设地址抄在纸上,自己动手标注每一段的名称。即使你永远不会真的去建一个园艺博客,这个练习也能训练你从一长串字符中看出结构。一旦你能把域名和路径分开、把查询参数和锚点分开,后面各节的内容就只是在补充你已经认识的细节。

域名是什么,为什么需要它

域名是互联网基础设施的关键组成部分,因为它们为互联网上任何可用的网络服务器提供了人类可读的地址。每台联网计算机都可以通过一个公开的IP地址访问,例如IPv4格式的192.0.2.172或更长的IPv6字符串,但这些数字地址对人类来说难以记忆,而且可能随时间变化。域名通过给每台服务器一个稳定的、便于记忆的标签来解决这个问题,即使底层IP发生变化,标签本身保持不变。2

域名的结构很简单,由几个用点号分隔的部分组成,从右往左阅读。最右边的部分是顶级域名,往左每增加一个标签就多一层具体性。例如在地址developer.mozilla.org中,developer是mozilla.org的一个子域名,而mozilla.org本身是.org顶级域名下的二级域名。构成一个有效域名并不需要三个标签,一个标签加上顶级域名就足够了。2

每个标签是一个不区分大小写的字符序列,长度在一到六十三个字符之间,只能包含字母A到Z、数字0到9以及连字符,且连字符不能出现在标签的开头或结尾。这套规则意味着当你为项目构思域名时,你是在一个明确定义的字母表范围内工作。尽早记住这些限制,可以避免在注册时才发现所选名称不符合要求。2

顶级域名传递了什么信息

顶级域名是域名最末尾的组成部分,也是互联网分层命名体系中最通用的部分。ICANN指定组织来管理每个顶级域名,根据管理组织的严格程度不同,顶级域名往往能作为网站用途、归属或所属地区的线索。最常见的通用顶级域名包括.com、.org和.net,它们不要求网络服务满足任何特定条件。32

除了通用顶级域名之外,IANA还区分了其他几类。国家代码顶级域名是为国家或地区设立的两个字符域名,例如.us代表美国。赞助类顶级域名由私人组织提出并监管,这些组织根据社区主题概念决定申请者是否有资格使用。有些顶级域名执行更严格的政策:.gov仅限于政府部门使用,.edu则保留给教育和学术机构。32

对于第一次建站的人来说,在通用顶级域名和国家代码顶级域名之间做选择,实际考虑通常是受众和用途,而不是技术能力上的差异。像.com这样的通用顶级域名没有居住地要求,而某些国家代码顶级域名可能有本地政策。完整的顶级域名列表由ICANN维护,如果你不确定某个后缀是否适合你的项目,查阅这份列表是一个可靠的起点。23

URL如何在域名之外继续延伸

URL是互联网上某个唯一资源的地址,也是浏览器用来获取已发布资源(如HTML页面、CSS文档和图片)的关键机制之一。域名把你带到正确的服务器,而URL的其余部分则告诉那台服务器你具体想要哪个资源。理论上每个有效的URL都指向一个唯一的资源,但在实践中,一个URL可能指向已经不存在或已经迁移的内容。1

URL中的路径部分,比如我们假设示例中的/plants/tomatoes,标识了服务器上的一个特定资源。在早期网络中,这代表服务器上的一个物理文件位置,但如今它主要是由服务器处理的一种抽象,不再对应真实的文件。参数由问号引入,是以与号分隔的键值对,在服务器返回资源之前给它提供额外指令。锚点由井号引入,充当返回文档内部的书签,并且永远不会随请求发送到服务器。1

你可以把一个URL想象成一个普通的邮寄地址:协议代表你想使用的邮政服务,域名是城市或城镇,路径代表邮件应当送达的那栋建筑,参数代表额外信息比如公寓门牌号,锚点则代表你实际写信给的那个人。这个类比并不完美,但它提供了一个心智模型,帮助你理解每个部分如何把范围从一个宽泛的网络逐步缩小到一份文档内部的精确位置。1

注册之前的实际准备

检查你心仪的域名是否可用,再投入时间围绕它做设计。大多数注册商在其网站上提供whois查询服务,可以告诉你一个名称是否已被占用。如果你习惯命令行,也可以在系统终端中输入whois命令。如果输出显示了注册组织和创建日期,说明该名称已被注册;如果返回无记录,则该名称很可能可供注册。2

记录几个候选名称形成一份简短清单,然后再做最终决定。因为你实际上无法永久买下一个域名,而是为使用它一到多年的权利付费,所以在填写注册表单之前要确认拼写和措辞没有问题。注册商会要求你填写真实地址,在某些国家,如果注册商无法提供有效地址,可能被迫关闭该域名。第一次就准确填写这些信息可以避免后续的麻烦。2

列出一个你能在电话里向别人解释清楚的命名方案。如果你的假设园艺博客使用了一个充满连字符或异常拼写的名称,访客凭记忆输入时就容易出错。使用具有内在含义的词语构成的语义化URL,对你自己来说更容易操作,对用户来说也能帮助他们理解自己身处何处、正在阅读什么。这个原则既适用于域名本身,也适用于你为各个页面设计的路径。1

把所有部分组合起来准备上线

当你坐下来配置网站时,你将同时使用已注册的域名和访客用来访问各个页面的完整URL。域名是你通过注册商管理的部分;路径、参数和锚点通常由网站的内容结构或服务器配置来管理。理解你在任何给定时刻编辑的是哪一层,可以在某些内容无法按预期加载时避免困惑。21

审查你计划的页面结构,为每个打算发布的页面写出完整的URL。对于一个小型网站,这可能意味着在表格里列出五到十个地址。逐条检查路径是否清楚地描述了内容、是否有必要使用参数、域名部分的拼写是否一致。这种低成本的复查能在错误被嵌入到分享给受众的链接之前发现拼写问题和结构不一致。

最后,记住域名和URL之间的关系是分层的但并非僵化的。你可以为不同的内容区域创建子域名,随着网站增长调整路径,根据功能变化添加或移除参数。域名本身是访客会记住的稳定锚点,所以选择时要慎重,但把URL的其余结构视为可以随项目演进而逐步优化的东西。21

常见问题

域名和URL的区别是什么?

域名标识你想访问的网络服务器,而URL是包含协议、域名、路径以及任何可选参数或锚点的完整地址。每个URL都包含一个域名,但单独的域名并不指定你要请求该服务器上的哪个具体资源。12

域名可以永久拥有吗?

不可以。你为使用某个域名一到多年的权利付费,并且可以续费,续费优先于其他人的申请。但你永远不会拥有该域名本身,这确保了未使用的名称最终能重新被他人注册。2

上线前必须理解URL参数和锚点吗?

不一定。对于一个简单网站,你可能只用到协议、域名和路径。参数和锚点在你添加搜索筛选或页内导航等功能时才变得相关。在起步阶段,能认出它们在地址栏中的样子就足够了。1