---恢复内容开始---

参考

https://zh.wikipedia.org/wiki/%E7%BB%9F%E4%B8%80%E8%B5%84%E6%BA%90%E6%A0%87%E5%BF%97%E7%AC%A6

http://www.jianshu.com/p/33bc363290e9

https://danielmiessler.com/study/url-uri/#gs.K9LKEHw

http://blog.gejiawen.com/2015/09/14/different-between-url-and-uri/

OverView

URI(Uniform Resource Identifier) 是一个用于标识一个互联网资源名称的字符串。URI的最常见形式就是URL(统一资源定位符)。

URI和URL和URN

首先看一下三者的名称

  • URI(统一资源标识符 Uniform Resource Identifier)
  • URL(统一资源定位符 Uniform Resource Locator)
  • URN (统一资源名称 Uniform Resource Name)

URI,URL,URN是一组概念,用于描述了互联网的资源。

  • URI是一种更高层次的抽象的概念,定义了如何去描述一个资源。
  • URL URL是URI的一种,他是一个具体的URI,URL可以唯一的标识个资源,而且可以确定资源的位置。
  • URN 这个用的就比较稀少了,有一个常见的例子 我有两本图书都叫《从入门到精通》但是两个图书的ISBN码是不一样的,ISBN码就像一个图书的唯一的名字,我们通过图书的ISBN码就知道他是哪个图书,他是一个图书的唯一的名字。但是我们是无法通过URN找到该图书在哪里。

从生活的例子上理解

​ 拿一个比较牵强的例子来说吧--【身份证】,从某种意义上,一个身份证唯一的标识出来了一个人,身份证这个唯一的概念就可以看做一个URI。我们身份证中,我的住址就可以看做是一个(URL),因为可以通过,身份证上的地址来准确的找到我(但是并不知道我们的名字);我们身份证中的身份证号,可看做是一个(URN),因为身份证号算是一个的唯一的名字(通过这个名字是不能知道我的位置的)。

从编程的角度理解

​ URI 更像是一个接口(Interface),是一个概念,定义了如何去标识一个资源,而URL和URN就是URI的实现类,定义了标识一个资源的具体的方式。

总结

  • URL 一定是URI,单URI不一定是URL
  • https://www.baidu.com/ 百度的网址,虽然是一个URL但是同时他也是一个URI,用URI来称呼URL更为规范一些(自我认为)

---恢复内容结束---

理解URI的更多相关文章

  1. 理解URI和URL

    1)定义: URI: Uniform Resource Identifier,通用资源标识符 ---是一个用于标识某一互联网资源名称的字符串(by 维基百科) URL:Uniform Resource ...

  2. URL和URI的区别与联系

    转自:http://win7452.blog.51cto.com/147513/45741 今天在看STRUTS配置的时候,发现一个问题,就是在看配置文件的时候,有时出现URL有时又是URI, 让我心 ...

  3. HTTP笔记:URI与URL

    URI与URL 简单理解是这样的:理解URI和URL的区别,我们引入URN这个概念.URI = Universal Resource Identifier 统一资源标志符URL = Universal ...

  4. URL与URI的区别和联系

    转自:https://www.cnblogs.com/chengdabelief/p/6635045.html 简单理解是这样的:理解URI和URL的区别,我们引入URN这个概念. URI = Uni ...

  5. URL 与URI 的区别

    作者:Octocat链接:https://www.zhihu.com/question/21950864/answer/89835520来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转 ...

  6. Http协议-URI和资源

    所有东西都有一个标准化的名字,以帮助人们寻找城市中的各种资源.书籍有ISBN号,公交车有线路号,银行账户有账户编码,人有身份证,街道有街道名称.人们告诉图书馆管理员书籍的ISBN号,他即可找出该书籍的 ...

  7. DataURL详解--转自格桑blog

    DataURI详解 Posted on 2013 年 09 月 09 日 by admin DataURI,不算新东西,却一直没用过,前些日子在webapp中用了点DataURI,就做了下相关的了解, ...

  8. 使用ContentProvider进行应用程序间的数据交互

    什么是ContentProvider: ContentProvider用来管理数据的访问规则.它允许你的应用程序向外界暴露需要被访问的数据. 是Android的四大组件之一. ContentProvi ...

  9. 阅读 图解HTTP ,读书笔记

    阅读它的目的只有一个:就是想了解客户端与服务端的通信是怎么实现的?    数据的存储是怎么实现的?     数据流通过程中遇到什么问题.返回什么状态.该怎么解决? 网络基础 TCP / IP 通常使用 ...

随机推荐

  1. [hadoop]mapreduce原理简述

    1.用于map的输入,先将输入数据切分成相等的分片,为每一个分片创建一个map worker,这里的切片大小不是随意订的,一般是与HDFS块大小一致,默认是64MB,一个节点上存储输入数据切片的最大s ...

  2. HDU 4639 hehe 杭电2013多校联赛第四场1008题

    解题报告:题目的意思是输入一个字符串,并规定,里面的“hehe”可以用"wqnmlgb"来代替,也可以不代替,问输入的这个字符串在经过相关的代替之后可以有多少种不同的形态.先打一个 ...

  3. Linux基础-awk使用

    打印uid在30~40范围内的用户名:awk -F: '$3>=30&&$3<040{print $1}' passwd 打印第5-10行的行号和用户名:awk -F: ' ...

  4. 解决Maven并行编译中出现打包错误问题的思路

    解决Maven并行编译中出现打包错误问题的思路 并行构建 Maven 3.x 提供了并行编译的能力,通过执行下列命令就可以利用构建服务器的多线程/多核性能提升构建速度: mvn -T 4 clean ...

  5. 2016.07.15——istringstream测试

    istringstream测试 1.istringstream strcin(str),字符串(str)可以包括多个单词,单词之间使用空格分开 #include "stdafx.h" ...

  6. 深拷贝数组 np.copy

    数组对象自带了浅拷贝和深拷贝的方法,但是一般用深拷贝多一些: 代码如下: >>> a = np.ones((2,2)) >>> b = a >>> ...

  7. /dev/mem可没那么简单【转】

    转自:http://blog.csdn.net/skyflying2012/article/details/47611399 这几天研究了下/dev/mem,发现功能很神奇,通过mmap可以将物理地址 ...

  8. pl/sql developer 设置oracle的date类型默认显示样式

    oracle里默认的date显示样式: 我的是汉化过的: 进入后,点击工具->首选项->日期/时间设置即可: 设置后在pl/sql developer中查看: 英文版的操作步骤: Tool ...

  9. c++语言知识点汇总

    c++ primer version-5 的整理 section 1: 内置类型和自定义类型: main函数的返回值:指示状态.0:成功:1:系统定义. unix和win系统中,执行完程序可以使用ec ...

  10. 01.Web基础和HTML初始

    1.1 上网就是请求数据 我们先不直接解决这个问题,我们做一个小实验.我们每个人的电脑里面,都有一个神秘的文件夹: C:\Users\Weiheng\AppData\Local\Microsoft\W ...