URL
| 中文名 | 统一资源定位符 |
|---|---|
| 英文名 | Uniform Resource Locator |
| 缩写 | URL |
| 提出者 | 蒂姆·伯纳斯-李(Tim Berners-Lee) |
| 首次发布 | 1994年(RFC 1738) |
| 最新标准 | URL Standard(WHATWG 实时标准)[1] |
| 相关标准 | RFC 3986、RFC 3987 |
统一资源定位符(缩写:URL),俗称网页地址或网址[2],是对万维网上资源(如网页、图像、文件等)的位置和访问方法的一种简洁表示。URL是统一资源标识符(URI)的一种具体形式,它不仅唯一标识一个资源,还指明了如何定位和获取该资源[3][4]。URL由蒂姆·伯纳斯-李(Tim Berners-Lee)发明,最初用于万维网的地址系统,随后由万维网联盟(W3C)和互联网工程任务组(IETF)制定为互联网标准RFC 1738[5][2]。如今,URL是互联网基础设施中最基本的组成部分之一,几乎所有网络浏览器和网络应用都依赖URL来定位和访问在线资源[1]。
URL的概念源于1990年蒂姆·伯纳斯-李为欧洲核子研究组织(CERN)开发的万维网项目。他设计了URL作为超文本系统中定位文档和资源的方式,与超文本传输协议(HTTP)和超文本标记语言(HTML)共同构成了万维网的三大核心技术[6][7]。
1992年,IETF成立了URI工作组,开始对URL进行标准化工作[5]。1994年,RFC 1738正式发布,由蒂姆·伯纳斯-李和IETF URI工作组共同编写,定义了URL的语法和格式[5][2]。此后,URL标准不断演进,RFC 3986(2005年)和RFC 3987(2006年)分别更新了URI和国际化资源标识符(IRI)的规范[1]。
2010年代起,WHATWG(Web超文本应用技术工作组)发布了URL实时标准(URL Living Standard),旨在统一和简化URL的解析与处理,逐步取代早期的RFC标准[1][8]。
一个完整的URL通常由多个部分组成,其通用语法格式如下[2][3]:
协议 :// 主机名 [: 端口号] / 路径 [ ; 参数 ] [ ? 查询 ] [ # 片段 ]
其中方括号内的部分为可选项。各部分含义如下:
- 参数(Parameters):部分协议支持的分号分隔的附加参数,现已不常见[2]。
- 查询(Query):用于向动态网页传递参数的字符串,以问号 `?` 开头,多个参数之间用 `&` 分隔,格式为 `键=值`[2]。
示例:`https://www.example.com:443/docs/page.html?lang=zh#section2`
URL是统一资源标识符(URI)的一个子集。URI是一个更广义的概念,用于唯一标识一个资源,而URL不仅标识资源,还提供了定位和访问该资源的方法[3][8]。URI的另一个子集是统一资源名称(URN),它仅通过名称标识资源而不涉及位置[3]。
在实践中,URL和URI两个术语经常被混用,但技术上所有URL都是URI,反之则不一定成立[8]。
URL中只能使用ASCII字符集的一部分字符。对于不在允许范围内的字符(如中文、空格、特殊符号等),需要进行百分号编码(Percent-encoding,又称URL编码)[9]。编码方式是将每个非ASCII字符或特殊字符转换为 `%` 后跟该字符ASCII码或UTF-8编码字节的两位十六进制表示[9][10]。
例如,空格字符(ASCII 32)编码为 `%20`,中文“上海”在UTF-8下编码为 `%E4%B8%8A%E6%B5%B7`[11]。
URL的主要标准文件包括:
- RFC 1738(1994年):URL的原始标准,已废弃[5]。
- RFC 3986(2005年):URI通用语法标准,取代RFC 1738成为URL的主要参考[3]。
- RFC 3987(2006年):国际化资源标识符(IRI)标准,允许在URL中使用非ASCII字符[1]。
- WHATWG URL Standard(实时更新):当前最广泛实施的URL标准,定义了URL的解析、序列化和API,旨在统一各实现之间的差异[1][8]。
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 URL Standard
- ↑ 2.00 2.01 2.02 2.03 2.04 2.05 2.06 2.07 2.08 2.09 2.10 统一资源定位符(URL)
- ↑ 3.0 3.1 3.2 3.3 3.4 3.5 3.6 3.7 RFC 3986: Uniform Resource Identifier (URI): Generic Syntax
- ↑ URL - Wikipedia
- ↑ 5.0 5.1 5.2 5.3 RFC 1738: Uniform Resource Locators (URL)
- ↑ Sir Timothy Berners-Lee - Royal Society
- ↑ URL的发展史:路径、片段、查询、身份验证
- ↑ 8.0 8.1 8.2 8.3 8.4 引用错误:
<ref>标签无效;未给name(名称)为wiki-url的ref(参考)提供文本 - ↑ 9.0 9.1 百分号编码 - MDN Web Docs
- ↑ 网址编码 - Google Developers
- ↑ 引用错误:
<ref>标签无效;未给name(名称)为google-url-encoding的ref(参考)提供文本