美文网首页
URI&URL&URN的识别与意义

URI&URL&URN的识别与意义

作者: Niklaus_8871 | 来源:发表于2018-04-23 15:29 被阅读0次

当你需要存储或者获取一个资源地址时用URI好还是URL好?首先要明确一下三个名称的意义

URI、URL和URN

URI :Uniform Resource Identifier,统一资源标识符

URL:Uniform Resource Locator,统一资源定位符

URN:Uniform Resource Name,统一资源名称。

URIs, URLs, and URNs

首先,URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。而URL是uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。而URN,uniform resource name,统一资源命名,是通过名字来标识资源,比如mailto:java-net@java.sun.com。也就是说,URI是以一种抽象的,高层次概念定义统一资源标识,而URL和URN则是具体的资源标识的方式。URL和URN都是一种URI。

在Java的URI中,一个URI实例可以代表绝对的,也可以是相对的,只要它符合URI的语法规则。而URL类则不仅符合语义,还包含了定位该资源的信息,因此它不能是相对的,schema必须被指定。

ok,现在回答文章开头提出的问题,到底是imgUrl好呢,还是imgUri好?显然,如果说imgUri是肯定没问题的,因为即使它实际上是url,那它也是uri的一种。那么用imgUrl有没有问题呢?此时则要看它的可能取值,如果是绝对路径,能够定位的,那么用imgUrl是没问题的,而如果是相对路径,那还是不要用ImgUrl的好。总之,用imgUri是肯定没问题的,而用imgUrl则要视实际情况而定。

第二个,从HttpServletRequest的javadoc中可以看出,getRequestURI返回一个String,“the part of this request’s URL from the protocol name up to the query string in the first line of the HTTP request”,比如“POST /some/path.html?a=b HTTP/1.1”,则返回的值为”/some/path.html”。现在可以明白为什么是getRequestURI而不是getRequestURL了,因为此处返回的是相对的路径。而getRequestURL返回一个StringBuffer,“The returned URL contains a protocol, server name, port number, and server path, but it does not include query string parameters.”,完整的请求资源路径,不包括querystring。

总结一下:URL是一种具体的URI,它不仅唯一标识资源,而且还提供了定位该资源的信息。URI是一种语义上的抽象概念,可以是绝对的,也可以是相对的,而URL则必须提供足够的信息来定位,所以,是绝对的,而通常说的relative URL,则是针对另一个absolute URL,本质上还是绝对的。

注:这里的绝对(absolute)是指包含scheme,而相对(relative)则不包含scheme。

URI抽象结构[scheme:]scheme-specific-part[#fragment]

[scheme:][//authority][path][?query][#fragment]

authority为[user-info@]host[:port]

http://域名,其中http是scheme,//域名是scheme-specific-part,并且它的scheme与scheme-specific-part被冒号分开了。

相关文章

  • URI&URL&URN的识别与意义

    当你需要存储或者获取一个资源地址时用URI好还是URL好?首先要明确一下三个名称的意义 URI、URL和URN U...

  • NLP

    本地搜索 文本匹配, 与 文本 转化为 声音 匹配。 与 语音识别翻译 ML:搜索识别, 语音识别,文字识别,图像...

  • 用知识图谱辅助NER问题

    NER全称Named-entity recognition(命名实体识别),是指识别文本中具有特定意义的实体,主要...

  • 听力如何进阶

    tertio的语音课解决识别声音的最小单位和记忆的问题,语义课解决识别声音的意义归属问题。声音识别部分通过体验、想...

  • 2020-04-人脸识别广告机和人脸识别技术应用

    人脸识别广告机和人脸识别技术应用 人脸识别广告机建立之初的更多的意义是在于能够进行人像的采集,从而建立起“人的数据...

  • 高光谱遥感笔记2022.4.18

    光谱特征选择与特征提取 光谱数据库与光谱分析 光谱数据库的意义 作为标准参考光谱或训练样本,为定量、定性识别分类模...

  • 人脸识别会像全面屏一样流行吗?

    人脸识别与指纹识别、虹膜识别、静脉识别同属于图像识别技术,在实际应用中体验度、识别速度却是大不相同。IPhoneX...

  • 谁说你的情绪不能控制?

    一、把握情绪自主力: 完整的情绪自主力的训练过程是:识别标定-建立连接-发现意义-寻求替换 1、识别标定:分清情绪...

  • Android jar包的混淆

    所有的App都在CPU上裸奔。 既然机器能跑,那么机器就能识别这些代码,混淆的意义是为了不让别人识别,因为代码中的...

  • 《童话的魅力》5

    替代性满足与意识识别 1、童话故事既富有娱乐性也富有教育意义。它们的独到之处是通过直接与儿童的内心对话来达到这一目...

网友评论

      本文标题:URI&URL&URN的识别与意义

      本文链接:https://www.haomeiwen.com/subject/trrllftx.html