URI
统一资源标识符 (URI) 用于识别 Web 上的“资源”。它们通常用作 HTTP 请求的目标,在这种情况下,URI 代表物理资源(如文档、照片、二进制数据等)的位置。URI 还可以用于触发除获取资源之外的其他行为,包括打开电子邮件客户端、发送短信或执行 JavaScript,当用于其他位置(如 HTML <a>
链接的 href
)时也是如此。
URL 和 URN
URL
URI 最常见的形式是统一资源定位符 (URL),它被称为Web 地址。
https:
https:/en-US/docs/Learn/
https:/en-US/search?q=URL
任何这些 URL 都可以输入浏览器的地址栏,告诉它加载关联的页面(资源)。
URL 由不同的部分组成,有些是必需的,有些是可选的。一个更复杂的示例可能如下所示
http:/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:/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:/en-US/docs/Learn
tel:+1-816-555-1212
[email protected]:mdn/browser-compat-data.git
ftp:/resource.txt
urn:isbn:9780141036144
mailto:[email protected]
规范
规范 |
---|
未知规范 |