当出bug,开发会让测试把出BUG页面的URL给他,便于进行排查,那么为什么说是URL,而不是URI?我们先来复习下相关的知识。
URL
统一资源定位符(Uniform Resource Locator),是因特网上标准的资源的地址。
URI
统一资源标识符(Uniform Resource Identifier),是一个紧凑的字符串用来标示抽象或物理资源。
URN
统一资源名称(Uniform Resource Name),是统一资源标识(URI)的历史名字,其格式urn:<NID>:<NSS>
。用于标识唯一书目的ISBN系统是一个典型的URN使用范例。2005年RFC3986发布,这一术语的使用已被限制更少的“URI”取代,所以现在听到这个词很少。
区别
URL与URN都是URI的子集。
统一资源名(URN)如同一个人的名称,而统一资源定位符(URL)代表一个人的住址。换言之,URN定义某事物的身份,而URL提供查找该事物的方法。
说到现在,还没有解释说为什么URL与URN是URI的子集!
一个统一资源标识(URI)可以是一个统一资源定位符号(URL),也可以是一个统一资源名称(URN),又或者两者都是,如下图所示:
zmisgod.html
是一个URI,但是不属于URL以及URN,而https://zmis.me/
这个属于URL,也属于URI,而urn:xxx:xxx
属于URN也属于URI。
结论
不必纠结到底是用URI、URL还是URN,以后都使用URI就没问题,因为URI范围更广。