uriURI和URL的区别

uri  时间:2021-07-23  阅读:()

通俗地讲,URL和URI的区别和联系?

URL是全球资源定位符的英文所写,您平时上网时在IE浏览器中输入的那个地址就是URL。

比如:网易 就是一个URL。

URI是Web上可用的每种资源 - HTML文档、图像、视频片段、程序,由一个通过通用资源标志符(Universal Resource Identifier, 简称"URI")进行定位。

URL的格式由下列三部分组成: 第一部分是协议(或称为服务方式); 第二部分是存有该资源的主机IP地址(有时也包括端口号); 第三部分是主机资源的具体地址。

URI一般由三部分组成: 访问资源的命名机制。

存放资源的主机名。

资源自身的名称,由路径表示。

EPC的URI表示有几种形式,分别用在什么场合?

1、纯标识的URI格式,只包括特定物理对象的独特信息,独立于标签编码 2、代表具体标签编码的URI,用于与编码相关的软件应用 3、代表模式或EPC集合的URI,当知道软件如何让过滤标签数据时使用 4、适用于原始标签信息的URI,用于错误报告

uri是什么

在电脑术语中,统一资源标识符(Uniform Resource Identifier,或URI)是一个用于标识某一互联网资源名称的字符串。

该种标识允许用户对网络中(一般指万维网)的资源通过特定的协议进行交互操作。

URI由包括确定语法和相关协议的方案所定义。

uri和url的区别是什么?

(URI和URL的定义略) 区别就是URI定义资源,而URL不单定义这个资源,还定义了如何找到这个资源。

比如说,一个服务器上,到一个文件夹/网页的绝对地址(absolute path)就是URI。

URL就不用说了。

URI和URL的区别

以下内容出自论坛: 首先,URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。

而URL是uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。

而URN,uniform resource name,统一资源命名,是通过名字来标识资源,比如mailto:@。

也就是说,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和URL的区别

从JDK1.5开始, 包对统一资源定位符 (uniform resource locator URL) 和统一资源标识符 (uniform resource identifier URI) 作了非常明确的区分。

(1)URI是个纯粹的句法结构,用于指定标识Web资源的字符串的各个不同部分。

URL是URI的一个特例,它包含了定位Web资源的足够信息。

其他URI,比如 mailto:cay@ 则不属于定位符,因为根据该标识符无法定位任何资源。

URI 是统一资源标识符,而 URL 是统一资源定位符。

因此,笼统地说,每个 URL 都是 URI,但不一定每个 URI 都是 URL。

这是因为 URI 还包括一个子类,即统一资源名称 (URN),它命名资源但不指定如何定位资源。

上面的 mailto、news 和 isbn URI 都是 URN 的示例。

URI 和 URL 概念上的不同反映在此类和 URL 类的不同中。

此类的实例代表由 RFC 2396 定义的语法意义上的一个 URI 引用。

URI 可以是绝对的,也可以是相对的。

对 URI 字符串按照一般语法进行解析,不考虑它所指定的方案(如果有)不对主机(如果有)执行查找,也不构造依赖于方案的流处理程序。

相等性、哈希计算以及比较都严格地根据实例的字符内容进行定义。

换句话说,一个 URI 实例和一个支持语法意义上的、依赖于方案的比较、规范化、解析和相对化计算的结构化字符串差不多。

作为对照,URL 类的实例代表了 URL 的语法组成部分以及访问它描述的资源所需的信息。

URL 必须是绝对的,即它必须始终指定一个方案。

URL 字符串按照其方案进行解析。

通常会为 URL 建立一个流处理程序,实际上无法为未提供处理程序的方案创建一个 URL 实例。

相等性和哈希计算依赖于方案和主机的 地址(如果有);没有定义比较。

换句话说,URL 是一个结构化字符串,它支持解析的语法运算以及查找主机和打开到指定资源的连接之类的网络 I/O 操作。

在Java类库中,URI类不包含任何访问资源的方法,它唯一的作用就是解析。

相反的是,URL类可以打开一个到达资源的流。

因此URL类只能作用于那些 Java类库知道该如何处理的模式, 例如http:,https:,ftp:,本地文件系统(file:),和Jar文件(jar:)。

URI—Universal Resource Identifier通用资源标志符 Web上可用的每种资源如HTML文档、图像、视频片段、程序等都是一个来URI来定位的 URI一般由三部组成 ①访问资源的命名机制 ②存放资源的主机名 ③资源自身的名称,由路径表示,着重强调于资源。

URL—Uniform Resource Location统一资源定位符 URL是上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上,特别是著名的Mosaic。

采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。

URL一般由三部组成 ①协议(或称为服务方式) ②存有该资源的主机IP地址(有时也包括端口号) ③主机资源的具体地址。

如目录和文件名等 应用: 一 、 URI 比如在JDK中sun公司提供的简易HttpServer实现中 public void handle(final HttpExchange exchange)throws Exception 方法中,根据exchange对象可以拿到访问Http请求的URI对象, ps: http://127.0.0.1:8080/cmd_helloworld/?name=guowuxin 此时URI uri = exchange.getRequestURI(); 通过uri可以拿到连接的各部分内容: uri.getPath() --------------------> /cmd_helloworld 注意有斜杠 uri.getQuery()----------------------> name=guowuxin 当然如果是post请求,请求内容在请求body当中 二、 URL 上面说了,URL 是一个结构化字符串,它支持解析的语法运算以及查找主机和打开到指定资源的连接之类的网络 I/O 操作。

重要的,URL不仅仅可以进行语法解析运算,还可以查找主机,并且打开指定资源的连接进行网络IO操作。

介绍URL类的两个重要方法 openStream() 打开到此 URL 的连接并返回一个用于从该连接读入的 InputStream。

openConnection() 返回一个 URLConnection 对象,它表示到 URL 所引用的远程对象的连接。

URL url = new URL(""); InputStream in = url.openStream(); ByteArrayOutputStream output = new ByteArrayOutputStream(); byte[] buffer = new byte[1024]; int len = -1; while ((len = in.read(buffer)) != -1) { output.write(buffer, 0, len); } System.err.println(new String(output.toByteArray())); 上面的程序通过openStream()方法获取访问URL获取的输入流,从而读取响应内容,ps响应内容是过滤掉响应头了的。

openConnection()方法就可以getOutputStream()以及 getInputStream() 可以更灵活的进行request和response

PIGYun中秋特惠:香港/韩国VPS月付14元起

PIGYun发布了九月份及中秋节特惠活动,提供8折优惠码,本月商家主推中国香港和韩国机房,优惠后最低韩国每月14元/中国香港每月19元起。这是一家成立于2019年的国人商家,提供中国香港、韩国和美国等地区机房VPS主机,基于KVM架构,采用SSD硬盘,CN2+BGP线路(美国为CUVIP-AS9929、GIA等)。下面列出两款主机配置信息。机房:中国香港CPU:1core内存:1GB硬盘:10GB...

spinservers:10Gbps带宽高配服务器月付89美元起,达拉斯/圣何塞机房

spinservers是一家主营国外服务器租用和Hybrid Dedicated等产品的商家,Majestic Hosting Solutions LLC旗下站点,商家数据中心包括美国达拉斯和圣何塞机房,机器一般10Gbps端口带宽,且硬件配置较高。目前,主机商针对达拉斯机房机器提供优惠码,最低款Dual E5-2630L v2+64G+1.6TB SSD月付89美元起,支持PayPal、支付宝等...

2021年7月最新洛杉矶CN2/香港CN2 vps套餐及搬瓦工优惠码 循环终身优惠6.58%

搬瓦工怎么样?2021年7月最新vps套餐推荐及搬瓦工优惠码整理,搬瓦工优惠码可以在购买的时候获取一些优惠,一般来说力度都在 6% 左右。本文整理一下 2021 年 7 月最新的搬瓦工优惠码,目前折扣力度最大是 6.58%,并且是循环折扣,续费有效,可以一直享受优惠价格续费的。搬瓦工优惠码基本上可能每年才会更新一次,大家可以收藏本文,会保持搬瓦工最新优惠码更新的。点击进入:搬瓦工最新官方网站搬瓦工...

uri为你推荐
goalgoalgoal多啦a梦一共多少集TV版spotlight搜索是什么如何启动Spotlight搜索msn邮箱后缀MSN 可以添加哪些后缀的iphone12或支持北斗导航iphone12是问题机吗淘气鸟松鸦是否会说话?音响解码音响功放:源码输出和解码输出有什么区别微软永久关闭实体店微软有一天倒闭了 你会怎样?cad图批量打印怎样一次性打印CAD所有布局里面的图手机屏幕厂商检测软件有什么软件能测试手机屏幕好坏的吗安全加固安全加固为什么要调整文件描述符大小
域名服务器 vps是什么 godaddy主机 美元争夺战 英文简历模板word dd444 空间出租 架设服务器 常州联通宽带 ca187 银盘服务是什么 七夕快乐英语 智能dns解析 阿里云免费邮箱 rewritecond 学生机 空间排行榜 alexa世界排名 日本小学生 挂马检测工具 更多