URLs和URIs的不同(翻译)

本文翻译自The Difference Between URLs and URIs,因水平有限,建议看原文


【注:更多入门教程,看这里

对于很多技术都有争论,其中web地址是被讨论最多的问题之一。通常表现在,某人提到输入某个“URL”到浏览器中,这时就会有人矫正道:

" 实际上,那个叫做 URI,不叫URL...

作为回应,这个人会想着是否接受他人的异议,还是撸袖子,光膀子来一架。希望能通过本篇文章使人理清其中的细微差异。

URI,URL,URN

对于这三种名词的解释,最好的方式是查看相关内容的出处文献,所以这里摘录了Tim Berners-Lee, et.al. in RFC 3986: Uniform Resource Identifier (URI): Generic Syntax:

(统一资源标示符)Uniform Resource Identifier(URI)是一个标示抽象或具体资源的字符串。

URI可以被视为定位符,名称或两者兼备。统一资源定位符(“Uniform Resource Locator” URL)是一种URI,它标识一个互联网资源,并指定了获取该资源的方法(例如:它的网络“位置”)。

Wikipedia简单的描述如下:

URI可被视为定位符(URL),名称(URN)或两者兼备。统一资源名(URN)如同一个人的名称,而统一资源定位符(URL)代表一个人的住址。换言之,URN定义某事物的身份,而URL提供查找该事物的方法。

那么我们得到以下一些信息:

  1. 首先(就像图上显示的那样)URL是一种URI
    。那么,以后如果有人告诉你URL不是URI,你就可以高傲的回答他,You are wrong。但是这不意味这所有的URIs都是URLs。就像所有的蝴蝶都会飞,但你不能说所有会飞的都是蝴蝶一样。
  2. 一个URI变成URL的方式是包含“获取方法”,或者“网络位置”, 例如,http:// 或者 ftp://
  3. URN是一个唯一的标示,唯一的名字。

接下来让我们看下RFC的一些URIs的示例:

这些都是URI,其中一些是URL。什么样的是URL?那些指明了获取方式的。

总结

我们就试着回答下文章开头的讨论:

哪一个名词更适合表述web地址呢?

基于作者对于相关内容和RFC的阅读理解,URI更适合描述web地址。
为什么?
因为我们通常使用URI的形式不等同于URL。举个例子,你被告知你需要的资源在 files.hp.com 。这是一个URI,不是URL---因为系统可以通过多种方式获取该资源。
你可以想像,通过 http://files.hp.com 获取的内容一定不同于 ftp://files.hp.com 。这种类似的事情只会越来越普遍,想想庞大的Google提供的多样的服务吧。
所以,如果你使用URI你永远在技术上是正确的,但URL可能不会。最后,有明显的议论“URL”或成为过时的。所以URI在准确度上是相当安全的选择。
尽管如此,Dafydd Stuttard持有不同的观点,这些术语含义非常相似,任何想要区分对待的都有些卖弄学问的嫌疑。在The Web Application Hacker’s Handbook 书中,它描述到:

对于一个URL正确的术语是URI(或统一资源标识符),但这术语只会被那些卖弄的人用在形式化的文章中。

确实如此。
[ NOTE: If someone actually gives a full URL then the more correct technical term is still URL, but I think I know what he meant. ]

最后的话

If you don’t mind being “that guy”, URI is probably the more accurate term to use. But if you are in the linguist / “use what’s understood” camp, feel free to go with URL.

Notes and references

  1. RFC 2396.
  2. Wikipedia | URI.
  3. An explanation of the differences from damnhandy.com.
  4. Another interesting point is the fact that Google Chrome is now purposely dropping the protocol from the display within the browser–which is in effect visually turning URLs into URIs.

翻译参考

维基百科---统一资源标志符

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,803评论 19 139
  • 曾经我天真的以为URI和URL是一样的,只是不同叫法而已,然后某一天有人告诉我这两个不一样,so我发现是时候好好研...
    你叫呆小瓜阅读 49,434评论 8 28
  • 译者:华科小涛:http://www.cnblogs.com/hust-ghtao/: 初学http协议,就被这两...
    HEALTHYbaby阅读 4,019评论 0 1
  • 下文是对维基百科中URI介绍的粗略翻译。原文 Uniform Resource Identifier统一资源标识符...
    胡不归vac阅读 4,375评论 0 0
  • 昨天打算一更的,但是打坐念经太晚了,所以拖到了今天~~~ 昨天被师太叫去挨训了,原因自然是实验没有做好,都怪我,念...
    子鱼的研究僧修行阅读 2,958评论 0 0

友情链接更多精彩内容