URL:修订间差异
TeodoroSeccombe(留言 | 贡献) 小 创建页面,内容为“。” |
IdleTap-bot(留言 | 贡献) 由旧格式Infobox转换为新参数格式(label/data),修复空信息框(由IdleTap-bot执行) |
||
| 第1行: | 第1行: | ||
{ | {{Infobox | ||
| | | title = 统一资源定位符 | ||
| label1 = 中文名 | |||
| data1 = 统一资源定位符 | |||
| label2 = 英文名 | |||
| data2 = Uniform Resource Locator | |||
| label3 = 缩写 | |||
| data3 = URL | |||
= | | label4 = 提出者 | ||
| data4 = 蒂姆·伯纳斯-李(Tim Berners-Lee) | |||
| label5 = 首次发布 | |||
| data5 = 1994年(RFC 1738) | |||
| label6 = 最新标准 | |||
| data6 = URL Standard(WHATWG 实时标准)<ref name="url-standard">[https://url.spec.whatwg.org/ URL Standard]</ref> | |||
| label7 = 相关标准 | |||
| data7 = RFC 3986、RFC 3987 | |||
}} | |||
'''统一资源定位符'''(缩写:'''URL'''),俗称'''网页地址'''或'''网址'''<ref name="c114">[https://baike.c114.com.cn/view.asp?id=7387-76D8FFAA 统一资源定位符(URL)]</ref>,是对[[万维网]]上资源(如网页、图像、文件等)的位置和访问方法的一种简洁表示。URL是[[统一资源标识符]]([[URI]])的一种具体形式,它不仅唯一标识一个资源,还指明了如何定位和获取该资源<ref name="rfc3986">[https://datatracker.ietf.org/doc/html/rfc3986 RFC 3986: Uniform Resource Identifier (URI): Generic Syntax]</ref><ref name="[[wiki]]-url">[https://en.wikipedia.org/wiki/URL URL - Wikipedia]</ref>。URL由[[蒂姆·伯纳斯-李]]([[Tim Berners-Lee]])发明,最初用于万维网的地址系统,随后由[[万维网联盟]]([[W3C]])和[[互联网工程任务组]](IETF)制定为[[互联网]]标准RFC 1738<ref name="rfc1738">[https://datatracker.ietf.org/doc/html/rfc1738 RFC 1738: Uniform Resource Locators (URL)]</ref><ref name="c114" />。如今,URL是互联网基础设施中最基本的组成部分之一,几乎所有网络[[浏览器]]和网络应用都依赖URL来定位和访问在线资源<ref name="url-standard" />。 | |||
== | == 历史 == | ||
URL的概念源于1990年蒂姆·伯纳斯-李为[[欧洲核子研究组织]]([[CERN]])开发的万维网项目。他设计了URL作为超[[文本]]系统中定位文档和资源的方式,与[[超文本传输协议]]([[HTTP]])和[[超文本标记语言]]([[HTML]])共同构成了万维网的三大核心技术<ref name="royal-society">[https://royalsociety.org/people/tim-berners-lee-11380/ Sir Timothy Berners-Lee - Royal Society]</ref><ref name="infoq">[https://www.infoq.cn/article/url-history/ URL的发展史:路径、片段、查询、身份验证]</ref>。 | |||
1992年,IETF成立了URI工作组,开始对URL进行标准化工作<ref name="rfc1738" />。1994年,RFC 1738正式发布,由蒂姆·伯纳斯-李和IETF URI工作组共同编写,定义了URL的语法和格式<ref name="rfc1738" /><ref name="c114" />。此后,URL标准不断演进,RFC 3986(2005年)和RFC 3987(2006年)分别更新了URI和国际化资源标识符(IRI)的规范<ref name="url-standard" />。 | |||
== | 2010年代起,[[WHATWG]](Web超文本应用技术工作组)发布了URL实时标准(URL Living Standard),旨在统一和简化URL的解析与处理,逐步取代早期的RFC标准<ref name="url-standard" /><ref name="wiki-url" />。 | ||
== 结构 == | |||
一个完整的URL通常由多个部分组成,其通用语法格式如下<ref name="c114" /><ref name="rfc3986" />: | |||
<pre>协议 :// 主机名 [: 端口号] / 路径 [ ; 参数 ] [ ? 查询 ] [ # 片段 ]</pre> | |||
其中方括号内的部分为可选项。各部分含义如下: | |||
* '''协议(Scheme)''':指定访问资源所使用的通信协议,如 `http`、`https`、`ftp`、`mailto`、`file` 等<ref name="c114" /><ref name="wiki-url" />。协议名称不区分大小写,但通常使用小写。 | |||
* '''主机名(Host)''':资源所在[[服务器]]的域名(如 `www.example.com`)或IP地址(如 `192.0.2.1`)<ref name="c114" /><ref name="rfc3986" />。 | |||
= | * '''端口号(Port)''':服务器上用于接受请求的端口编号。各协议有默认端口(如HTTP为80,[[HTTPS]]为443),省略时使用默认值<ref name="c114" />。 | ||
* '''路径(Path)''':服务器上资源的具体位置,通常由斜杠分隔的目录和文件名组成<ref name="c114" /><ref name="rfc3986" />。 | |||
* '''参数(Parameters)''':部分协议支持的分号分隔的附加参数,现已不常见<ref name="c114" />。 | |||
* '''查询(Query)''':用于向动态网页传递参数的字符串,以问号 `?` 开头,多个参数之间用 `&` 分隔,格式为 `键=值`<ref name="c114" />。 | |||
* '''片段(Fragment)''':指向资源内部特定位置的标识符,以井号 `#` 开头,常用于定位网页中的某个章节或元素<ref name="c114" /><ref name="rfc3986" />。 | |||
示例:`https://www.example.com:443/docs/page.html?lang=zh#section2` | |||
== | == 与URI的关系 == | ||
URL是[[统一资源标识符]](URI)的一个子集。URI是一个更广义的概念,用于唯一标识一个资源,而URL不仅标识资源,还提供了定位和访问该资源的方法<ref name="rfc3986" /><ref name="wiki-url" />。URI的另一个子集是[[统一资源名称]](URN),它仅通过名称标识资源而不涉及位置<ref name="rfc3986" />。 | |||
在实践中,URL和URI两个术语经常被混用,但技术上所有URL都是URI,反之则不一定成立<ref name="wiki-url" />。 | |||
== 编码 == | |||
=== | URL中只能使用[[ASCII]]字符集的一部分字符。对于不在允许范围内的字符(如中文、空格、特殊符号等),需要进行'''百分号编码'''(Percent-encoding,又称URL编码)<ref name="mdn-percent">[https://developer.mozilla.org/zh-CN/docs/Glossary/Percent-encoding 百分号编码 - MDN Web Docs]</ref>。编码方式是将每个非ASCII字符或特殊字符转换为 `%` 后跟该字符[[ASCII]]码或[[UTF-8]]编码字节的两位十六进制表示<ref name="mdn-percent" /><ref name="[[go]]ogle-url-encoding">[https://developers.google.com/maps/documentation/url-encoding 网址编码 - Google Developers]</ref>。 | ||
例如,空格字符(ASCII 32)编码为 `%20`,中文“上海”在UTF-8下编码为 `%E4%B8%8A%E6%B5%B7`<ref name="[[google]]-url-encoding" />。 | |||
== | == 标准 == | ||
URL的主要标准文件包括: | |||
* '''RFC 1738'''(1994年):URL的原始标准,已废弃<ref name="rfc1738" />。 | |||
* '''RFC 3986'''(2005年):URI通用语法标准,取代RFC 1738成为URL的主要参考<ref name="rfc3986" />。 | |||
* '''RFC 3987'''(2006年):国际化资源标识符(IRI)标准,允许在URL中使用非ASCII字符<ref name="url-standard" />。 | |||
* '''WHATWG URL Standard'''(实时更新):当前最广泛实施的URL标准,定义了URL的解析、序列化和API,旨在统一各实现之间的差异<ref name="url-standard" /><ref name="wiki-url" />。 | |||
== 参考文献 == | |||
== | |||
== | |||
<references /> | |||
2026年8月11日 (二) 10:15的最新版本
| 中文名 | 统一资源定位符 |
|---|---|
| 英文名 | 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(参考)提供文本