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

参考

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. phpcms 仿站小结

    1.title<title>{if isset($SEO['title']) && !empty($SEO['title'])}{$SEO['title']}{/if}{$ ...

  2. Python练习-从小就背不下来的99乘法表

    心血来潮,灵机一动,反正就是无聊的做了一个很简单的小玩意: for i in range(1,10):#让i 1-9 循环9次 print("\n")#每循环一次进行一次换行 fo ...

  3. UNIX环境高级编程 第11章 线程

    使用C++调用pthread_cleanup_push( )时,下面的代码是无法编译通过的: pthread_cleanup_push(cleanup, "thread 1 first ha ...

  4. .NET中如何自定义配置节点

    .NET Framework在web.config或app.config中默认提供了很多种设置,以便能够改变应用程序内嵌组件的行为,例如<connectionStrings>.<ht ...

  5. meterpreter使用

    1.基本命令 background:将meterpreter终端隐藏在后台 sessions:查看已经成功获取的会话,想继续与某会话进行交互使用sessions –i quit:直接关闭当前meter ...

  6. Dream------Hadoop--Hadoop HA QJM (Quorum Journal Manager)

    In a typical HA cluster, two separate machines are configured as NameNodes. At any point in time, ex ...

  7. vi 编辑器使用技巧

    1.由命令"vi --version"所显示的内容知vi的全局配置文件 2.显示行号   ,非编辑模式输入 : set nu 3.显示颜色 1)在文件中找到 "synta ...

  8. Docker技术这些应用场景【转】

    场景一:节省项目环境部署时间 1.单项目打包 每次部署项目到测试.生产等环境,都要部署一大堆依赖的软件.工具,而且部署期间出现问题几率很大,不经意就花费了很长时间. Docker主要理念就是环境打包部 ...

  9. java基础24 线程、多线程及线程的生命周期(Thread)

    1.1.进程 正在执行的程序称作为一个进程.进程负责了内存空间的划分 疑问1:windows电脑称之为多任务的操作系统,那么Windows是同时运行多个应用程序呢? 从宏观的角度:windows确实在 ...

  10. HDU 3613 Best Reward(manacher求前、后缀回文串)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3613 题目大意: 题目大意就是将字符串s分成两部分子串,若子串是回文串则需计算价值,否则价值为0,求分 ...