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

CloudCone:$17.99/年KVM-1GB/50GB/1TB/洛杉矶MC机房

CloudCone在月初发了个邮件,表示上新了一个系列VPS主机,采用SSD缓存磁盘,支持下单购买额外的CPU、内存和硬盘资源,最低年付17.99美元起。CloudCone成立于2017年,提供VPS和独立服务器租用,深耕洛杉矶MC机房,最初提供按小时计费随时退回,给自己弄回一大堆中国不能访问的IP,现在已经取消了随时删除了,不过他的VPS主机价格不贵,支持购买额外IP,还支持购买高防IP。下面列...

RepriseHosting:$27.97/月-L5640,16G内存,1TB硬盘,10TB月流量,西雅图机房

RepriseHosting是成立于2012年的国外主机商,提供独立服务器租用和VPS主机等产品,数据中心在美国西雅图和拉斯维加斯机房。商家提供的独立服务器以较低的价格为主,目前针对西雅图机房部分独立服务器提供的优惠仍然有效,除了价格折扣外,还免费升级内存和带宽,商家支持使用支付宝或者PayPal、信用卡等付款方式。配置一 $27.97/月CPU:Intel Xeon L5640内存:16GB(原...

legionbox:美国、德国和瑞士独立服务器,E5/16GB/1Gbps月流量10TB起/$69/月起

legionbox怎么样?legionbox是一家来自于澳大利亚的主机销售商,成立时间在2014年,属于比较老牌商家。主要提供VPS和独立服务器产品,数据中心包括美国洛杉矶、瑞士、德国和俄罗斯。其中VPS采用KVM和Xen架构虚拟技术,硬盘分机械硬盘和固态硬盘,系统支持Windows。当前商家有几款大硬盘的独立服务器,可选美国、德国和瑞士机房,有兴趣的可以看一下,付款方式有PAYPAL、BTC等。...

uri为你推荐
win8企业版win8 企业版和专业版的有什么区别呀??发送垃圾短信发垃圾短信违法吗 法律怎么规定的智能机刷机软件给手机刷机用什么软件好呢?iphone12或支持北斗导航苹果12处理器是什么windows7系统要求windows7的系统盘要求最低是多少人脸检测综述mtcnn论文中的人脸检测达到了什么样的水准腾讯汽车论坛腾讯·大楚网的核心产品pps电影PPS里面好看的电影.推荐一下.cad图批量打印我在一个朋友的CAD图中有看过批量打印这一招,但现在忘了怎么设置,希望哪位大师能出招指教?!洛阳小程序开发洛阳小程序开发公司哪家比较好
新加坡虚拟主机 已备案域名 cn域名价格 中国域名交易中心 秒解服务器 vmsnap3 好玩的桌面 轻博 免费博客空间 国内php空间 嘟牛 华为网络硬盘 数字域名 vip购优汇 怎么测试下载速度 qq对话框 空间技术网 网游服务器 域名dns 1元域名 更多