URI 与 URL 以及 URN

314 阅读1分钟

楔子

首先我们来看一个问题:
Q: 我们输入再浏览器里面的 Web 地址应该叫 URL 还是 URI ?
带着这个问题,我们来了解一下什么是 URL 什么是 URI

URL

缩写:URL
全拼:uniform resource locator
翻译:统一资源定位系统
URL由三部分组成:资源类型、存放资源的主机域名、资源文件名
也可认为由4部分组成:协议、主机、端口、路径
例如(带方括号[]的为可选项):protocol :// hostname[:port] / path / [;parameters][?query]#fragment
protocol 协议
hostname 主机名
port 端口号
path 路径
parameters 参数
query 查询
fragment 信息片段
一言以蔽之:URL 就像一个人的地址,提供了可以找到它的方式。

URN

缩写:URN
全拼:Uniform Resource Name
翻译:统一资源名称
例如:urn:oasis:names:specification:docbook:dtd:xml:4.1.2
一言以蔽之:URN 就像一个的名字,确定了它的身份。

URI

缩写:URI
全拼:Uniform Resource Identifier
翻译:统一资源标识符
URI 是 URL 和 URN 的超集,也就是说 URL 和 URN 是 URI 的子集。
URI 可以分为 URL、URN 或者同时具备 locators 和 names 特性的一个东西。
URL 和 URN 可以说是 URI,但是 URI 不一定是 URL 或 URN。

总结

简单的以身份证举例:
URL 是居住地址;
URN 是姓名;
URI 就是身份证本体了;

最后回答一下开始的题目。
个人觉得叫做 URI 总是没错的。