定义

URI:统一资源标识符(Uniform Resource Indentifier)用来标识服务器上的资源.

URL:统一资源定位符(Uniform Resouce Locator)是资源标识符最常见的表示格式

URL格式

URL标准的格式主要包含三部分

  1.第一部分方案或者协议(scheme),说明了访问服务器资源所使用的协议,主要有http,https,ftp等.

  2.第二部分是服务器的域名或者iP地址及端口号(默认为80)

  3.资源的路径及名称

URL的通用格式如下:

  <scheme>://<user>:<passowrd>@<host>:<port>/<path>;<params>?<query>#<frag>

URN:统一资源名称(Uniform Resource Name)

  格式是

  URN:协议名称:类别数据,具体格式由具体协议自定。例如图书ISBN可以为 URN:isbn:isbn号

  通过URN,可以使用同一个名字通过多个网络协议来访问资源

关系

URL和URN是URI的两种表现形式,他们之间的关系是包含与被包含的关系,请看如下一张图(参考自:http://kb.cnblogs.com/page/90838/):

总结

做个类比,URI就像是个人识别方式,URN可比作他的名字(或身份证号码),URL可比作他的住址。

当个人换地址的时候(资源转移),对应的URL也需要修改.而URN不管他地址在哪都可以他的名字(或身份证号码)通过来找到他.

现在绝大部分URI都是URL

Http权威指南笔记(一) URI URL URN 关系的更多相关文章

  1. URI URL URN 关系

    我们一起来看下面这个虚构的例子.这是一个URI: http://bitpoetry.io/posts/hello.html#intro 我们开始分析 http:// 是定义如何访问资源的方式.另外 b ...

  2. Struts2权威指南笔记

    Struts2权威指南笔记 1.mvc特点包括: ① 多个视图可以对应一个模型 ② 模型返回的数据与显示逻辑分离 ③ 应用层被分隔为三层,降低了各层之间的耦合,提供了应用的可扩展性 ④ 控制层的概念也 ...

  3. http权威指南笔记

    请求报文 响应报文GET /test/hi.txt HTTP/1.0 起始行 HTTP/1.0 200 OKAccept: text/* 首部 Content-type: text/plainAcce ...

  4. 关于URI URL URN

    刚琢磨.整理了关于escape.encodeURIComponent.encodeURI的知识.突然又对URI有点模糊了,遂整理了以下资源 : 资源一: URL,URI 和URN 的举例理解 资源二: ...

  5. uri,url.urn

    uri:Web上可用的每种资源 - HTML文档.图像.视频片段.程序等 - 由一个通过通用资源标志符(Universal Resource Identifier, 简称"URI" ...

  6. HTTP权威指南笔记-2.URL与资源

    2.1 URI与URL.URN URL是浏览器寻找信息时所需的具体位置.URl是人们对HTTP和其他协议的常用访问点:浏览器指向一个URL,浏览器就会发送适当的协议报文向服务器获取内容. URI是一类 ...

  7. HTTP权威指南笔记-1.概述

    1.1 通讯 Web内容是存储在服务器上的,Web服务所使用的是HTTP协议,所以经常称为HTTP服务器.通讯过程为客户端(正常我们所使用的)发出请求,服务端根据客户端的HTTP请求响应相应数据,这就 ...

  8. URI/URL/URN的联系和区别

    下面是我整理的一些关于他们的描述. URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源. 而URL是uniform resource locato ...

  9. URI URL URN的区别

    一:什么是URI,URL,URN ? URI:Uniform Resource Identifier,统一资源标识符,是一个用于表示互联网上资源名称的字符串 格式:http://www.xxx.com ...

随机推荐

  1. Android应用程序中的多个Activity的显示创建和调用

    watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMTkzNjE0Mg==/font/5a6L5L2T/fontsize/400/fill/I0JBQk ...

  2. Davinci开发板DM368 nandwrite.c简要分析

    #include <stdio.h> #include <stdlib.h> #include <sys/stat.h> #include <limits.h ...

  3. idea maven jetty插件热部署

    maven tomcat插件好像无法进行热部署,jetty可以如下配置实现热部署,但是idea无法进行自动编译,所以需要如下快捷键 Ctrl+Shift+F9,编译 Ctrl+F9,生成项目 < ...

  4. NDK下 将Platinum SDK 编译成so库 (android - upnp)

    Platinum UPnP SDK 是一个跨平台的C++库,利用该库,可以很容易就构建出DLNA/UPnP控制点(DLNA/UPnP Control Point)和DLNA/UPnP设备(DLNA/U ...

  5. JQ点击高亮显示

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. OC准备知识

    #import 与 #include区别 include完成头文件的导入,可能会导致头文件的相互引用和函数或变量的重复定义 为了解决这个问题 我们必须这样做 #ifndef Student_h #de ...

  7. Direct2D DirectWrite绘制文字

    绘制文本使用DirectWrite: 为了简化 DirectWrite 的使用,RenderTarget有3个方法可以直接绘制文本: DrawText,用于简单绘制,支持Unicode. DrawTe ...

  8. ng-if和ng-show的区别

    angularJS中的ng-show.ng-hide.ng-if指令都可以用来控制dom元素的显示或隐藏.ng-show和ng-hide根据所给表达式的值来显示或隐藏HTML元素.当赋值给ng-sho ...

  9. python核心编程-第四章-习题

    1.身份.类型.值.其中,身份是每个对象的标识,与内存地址密切相关,可用id()返回:类型决定了对象可以保存什么类型的值,用type()函数.isinstance()函数可以得到对象的类型:值就是对象 ...

  10. python操作redis-事务

    #!/usr/bin/python #!coding: utf-8 import redis import sys if __name__=="__main__": try: co ...