5分钟搞懂URI、URL和URN

当我们上网的时候,浏览器地址栏里显示的那一串字符串是什么意思?这串字符叫URL,是URI的一种,还有个兄弟叫URN,这篇文章就带你了解这几个概念。原文:URI vs URL vs URN[1]

当我们处理互联网和在线内容时,URI、URL和URN是我们能听到的最熟悉的单词,下面让我们深入了解它们的含义……


URI - 统一资源识别符(Uniform Resource Identifier)

URI是标识所有连接到万维网(World Wide Web)的资源的通用术语,是用来标识逻辑资源或者物理资源的字符串序列。换句话说,它可以用来识别互联网上的资源的位置、或名称、或两者兼有。URI有两个主要的子集,即URL和URN。

URI语法:scheme:[//[user:password@]host[:port]][/]path[?query][#fragment]

URI示例foo://example.com:8042/over/there?name=ferret#nose

Scheme:URI的起始点,并与URI协议相关。URI schema对大小写不敏感,后面带有一个“:”。尽管在实践中可以使用未注册的schema,但URI schema应该向Internet Assigned Numbers Authority (IANA)注册。几个流行的URI schema的例子:HTTP、HTTPS、FTP和mailto。

Authority(权限):Authority字段是位于schema字段之后的第二个条目,以两个斜杠(//)开头。这个字段由多个子字段组成:

  • authentication(认证信息)-可选的字段和用户名,密码,由冒号隔开,后面跟着“@”符号
  • host(主机名)—注册的名称或IP地址,出现在“@”符号之后
  • port(端口号)-可选字段,后面跟着一个冒号

Path(路径):Path是第三个字段,由斜杠分隔的段序列来表示,用来提供资源的位置。注意,不管authority部分存在或不存在,path都应该以一个斜杠开始,而不是双斜杠(//)。

Query(查询):Query是第四个字段,是URI的可选字段,包含一串非结构数据并以“?”和Path隔开。

Fragment(片段):Fragment是第五个组成部分,也是一个可选字段,提供指向辅助资源的方向,并以“#”开始。简单来说,Fragment字段可以用于指向HTML页面的特定元素(主资源)。


URL - 统一资源定位符(Uniform Resource Locator)

如上所述,URLURI的一个子集。URL是一个给定唯一Web资源的地址,表明了这个唯一的Web资源的位置,用户可以通过URL浏览互联网。如果我们在任何应用程序中点击任何超链接,它会将我们重定向到相关的URL,这些URL也可以很容易的输入到浏览器地址栏中,并可以加载特定的资源。

URL语法scheme://host:port/path?query-string#fragment-id

URL示例: https://medium.com/p/51b8167cafad

Scheme:URL的第一部分,表示浏览器请求资源时必须使用的协议。常见例子有HTTPS(安全版本)和HTTP(非安全版本)。

Authority:Authority是URL的第二个字段,同样使用“//”开头,包含一些子部分:

  • host(主机名)—分配给主机的域名或IP地址,是主机的本地名称和它的父域名的组合
  • port(端口)—表示用于访问Web服务器上特定资源的标识,通常80表示HTTP, 443表示HTTPS,这是一个可选字段

Path to resource(资源路径):路径是URL的第三个字段,是Web服务器上资源的路径

Query(查询):查询是URL的第四个字段,由传递给服务器端脚本的数据组成,并在Web服务器上运行。查询将执行带有“?”的搜索参数,参数通常由名字和值对组成的字符串组成,并由“&”分隔。

Fragment Identifier(片段标识符):片段是可选字段,用于表示页面中的位置,由“#”标识片段标识符。


URN - 统一资源名(Uniform Resource Name)

URN是一种具有静态名称的互联网资源,即使它的数据被移动到另一个位置也仍然有效。URL在内容被移动后就失效了,与之不同的是,URN可以始终跟踪Web上某些数据的资源,从而解决了频繁移动数据的问题。

更进一步的,我们可以说,当用户知道唯一资源的位置时,可以使用URL,但URN只需要知道特定资源的名称,而不用指定其位置。

URN语法:scheme:NID: NSS

URN示例:urn:ISSN:0167–6423

Scheme:URN的前导部分,以“:”结尾,不区分大小写

NID(Namespace ID):URN的第二个字段,是向IANA注册的命名空间标识符。NID后面跟着一个":",可以由字母、数字和" - "组成。

NSS(Namespace Specific String):NID之后的下一个字段,是一个特定于命名空间的字符串。NID确定NSS的语法解释。NSS可以由ASCII字母、数字、标点符号和特殊字符组成。

  • 2017年之后,又添加了q-component和r-component,用于向命名资源和解析器传递参数。

区分识别URI、URL和URN的小技巧

  • URL是一个可以检索网络资源的链接;URN是唯一标识符,但不能创建可单击的链接。
  • 人们经常用名字作为例子来描述URI和URN。人的名字就像URI,因为它标识了一个人,但并没有告诉你在世界上的哪个地方可以找到这样一个特定的人,甚至也没有告诉你我们谈论的是哪个人。
  • 简单的名字不能作为URN的例子,因为没有唯一性,世界上有很多人有同样的名字。URN是一个带有全局唯一标识符的名称,如身份证号或社会保险号。
  • 在网络中,URN很容易被发现。

本文到此结束,如果你正好想要了解关于URI、URL和URN的知识,希望这篇文章对你有用。

感谢阅读本文…!!!🤗🤗🤗

References:
[1] https://enlear.academy/uri-vs-url-vs-urn-51b8167cafad

你好,我是俞凡,在Motorola做过研发,现在在Mavenir做技术总监,对通信、网络、后端架构、云原生、DevOps、CICD、区块链、AI等技术始终保持着浓厚的兴趣,平时喜欢阅读、思考,相信持续学习、终身成长,欢迎一起交流学习。
微信公众号:DeepNoMind

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,098评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,213评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 149,960评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,519评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,512评论 5 364
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,533评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,914评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,804评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,563评论 2 319
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,644评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,350评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,933评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,908评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,146评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,847评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,361评论 2 342

推荐阅读更多精彩内容

  • 一、URI和URL的区别: 1、URI:统一资源标识符,用来唯一的识别一个资源,包含URL和URN。Uri时And...
    Yangxy_Lazy阅读 772评论 0 0
  • 定义 URL: Unifrom Resource Locator 统一资源定位符 URI: Unifrom Re...
    gsonliu阅读 923评论 0 0
  • 当你需要存储或者获取一个资源地址时用URI好还是URL好?首先要明确一下三个名称的意义 URI、URL和URN U...
    Niklaus_8871阅读 288评论 0 0
  • 项目里用到了许多Uri,Url,Urn相关东西,一直对其的定义模糊不清,趁迭代开发周期,对一些模糊的东西弄清楚 内...
    朴文阅读 319评论 0 0
  • 我是黑夜里大雨纷飞的人啊 1 “又到一年六月,有人笑有人哭,有人欢乐有人忧愁,有人惊喜有人失落,有的觉得收获满满有...
    陌忘宇阅读 8,520评论 28 53