包含有关如何从其位置获取资源的信息。例如:
http://example.com/mypage.html
ftp://example.com/download.zip
mailto:user@example.com
file:///home/user/file.txt
http://example.com/resource?foo=bar#fragment
-
/other/link.html(相对 URL,仅在另一个 URL 的上下文中有用)
URL 总是以协议 (http) 开头,通常包含网络主机名 (example.com) 和文档路径 (/foo/mypage.html) 等信息。 URL 可能有查询参数和片段标识符。
按名称标识资源。它总是以前缀urn: 开头例如:
-
urn:isbn:0451450523 通过 ISBN 号识别一本书。
-
urn:uuid:6e8bc430-9c3a-11d9-9669-0800200c9a66 全局唯一标识符
-
urn:publishing:book - 将文档标识为书籍类型的 XML 命名空间。
URN 可以识别想法和概念。它们不限于识别文件。当 URN 确实表示文档时,它可以通过“解析器”转换为 URL。然后可以从 URL 下载该文档。
URI 包含 URL、URN 和其他指示资源的方式。
既不是 URL 也不是 URN 的 URI 示例是 data URI,例如 data:,Hello%20World。它不是 URL 或 URN,因为 URI 包含数据。它既不命名它,也不告诉您如何通过网络找到它。
还有统一资源引用 (URC),它们指向有关文档的元数据,而不是文档本身。 URC 的一个示例是用于查看网页源代码的指示器:view-source:http://example.com/。 URC 是另一种既不是 URL 也不是 URN 的 URI。
常见问题解答
听说不能再说网址了,为什么呢?
HTML 的 w3 规范说 href of an anchor tag 可以包含一个 URI,而不仅仅是一个 URL。您应该可以输入一个 URN,例如 <a href="urn:isbn:0451450523">。然后,您的浏览器会将该 URN 解析为 URL 并为您下载图书。
是否有浏览器真正知道如何通过 URN 获取文档?
据我所知,现代网络浏览器确实实现了数据 URI 方案。
URI 可以同时是 URL 和 URN 吗?
好问题。我在网上看到很多地方都说这是真的。我找不到任何既是 URL 又是 URN 的示例。我看不出这怎么可能,因为 URN 以 urn: 开头,这不是有效的网络协议。
URL和URI的区别是相对还是绝对有关系吗?
没有。相对 URL 和绝对 URL 都是 URL(和 URI)。
URL和URI的区别与是否有查询参数有关系吗?
没有。带有和不带有查询参数的 URL 都是 URL(和 URI)。
URL和URI的区别与是否有分片标识符有关系吗?
没有。带有和不带有片段标识符的 URL 都是 URL(和 URI)。
tel: URI 是 URL 还是 URN?
例如tel:1-800-555-5555。它不是以urn: 开头的,它有一个通过网络访问资源的协议。它必须是一个 URL。
但是 w3C 现在不是说 URL 和 URI 是一回事吗?
是的。 W3C 意识到对此有很多困惑。他们发布了URI clarification document,表示现在可以互换使用 URL 和 URI。将 URI 严格划分为 URL、URN 和 URC 等不同类型已不再有用。