URI
统一资源标识符(URI)用于标识 Web 上的“资源”。URI 通常用作 HTTP 请求的目标,在这种情况下,URI 代表物理资源的位置,如文档、照片、二进制数据。最常见的 URI 类型是统一资源定位符(URL),它被称为 Web 地址。
URI 在其他地方使用时,如 HTML <a>
链接的 href
,可用于触发获取资源以外的行为,包括打开电子邮件客户端、发送文本信息或执行 JavaScript。
URL 和 URN
URL
在浏览器地址栏中输入以下任何 URL,就可以让浏览器加载相关文档(资源):
https://developer.mozilla.org
https://developer.mozilla.org/zh-CN/docs/Learn_web_development/
https://developer.mozilla.org/zh-CN/search?q=URL
一个 URL 由不同的部分组成,有些是必须的,有些是可选的。一个更复杂的例子可能是这样的:
http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument
URN
统一资源名称(URN)是一个在特定命名空间中通过名称标识资源的 URI。
urn:isbn:9780141036144
urn:ietf:rfc:7230
两个 URN 分别代表
- 书籍:《一九八四》(乔治·奥威尔)
- IETF 规范 7230《超文本传输协议》(HTTP/1.1):消息语法和路由。
统一资源标识符(URI)的语法
我们将以下 URL 分解为不同的部分:
http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument
方案
http://
是 URL 的方案,表示浏览器必须使用的协议。通常是 HTTP 协议或其安全版本 HTTPS。Web 要求使用这两种协议之一,但浏览器也知道如何处理其他协议,如 mailto:
(打开邮件客户端)或 ftp:
(处理文件传输)。方案参考资料提供了最常见的协议列表以及其中一些协议的文档。
在 HTML 内容中使用 URL 时,一般只应使用其中几种 URL 方案。在引用子资源(即作为较大文档的一部分加载的文件)时,只能使用 HTTP 和 HTTPS 方案。出于安全考虑,越来越多的浏览器不再支持使用 FTP 加载子资源。
虽然某些浏览器可能会委托其他应用程序加载 FTP 内容,但在最高级别(如直接在浏览器的 URL 栏中键入,或作为链接的目标),FTP 仍然是可以接受的。
权威
路径
/path/to/myfile.html
是 URL 的路径,表示资源在 Web 服务器上的位置。在 Web 发展初期,这是指向 Web 服务器上某个物理位置的实际目录路径。如今,Web 服务器通常会将其抽象为一个任意位置。
查询
?key1=value1&key2=value2
是 URL 的查询,是提供给 Web 服务器的额外参数。参数是以 ?
符号为前缀、以 &
符号分隔的键/值对列表。这些参数可用于提供所请求资源的附加上下文。每个资源位置都可能有自己的参数规则,要知道特定参数是如何处理的,唯一可靠的方法就是询问服务器的所有者,例如阅读其文档。
片段
示例
https://developer.mozilla.org/zh-CN/docs/Learn
tel:+1-816-555-1212
git@github.com:mdn/browser-compat-data.git
ftp://example.org/resource.txt
urn:isbn:9780141036144
mailto:help@supercyberhelpdesk.info
规范
Specification |
---|
Unknown specification |