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

RackNerd 2022春节促销提供三款年付套餐 低至年付10.88美元

RackNerd 商家我们应该是比较熟悉的商家,速度一般,但是人家便宜且可选机房也是比较多的,较多集中在美国机房。包括前面的新年元旦促销的时候有提供年付10美元左右的方案,实际上RackNerd商家的营销策略也是如此,每逢节日都有活动,配置简单变化,价格基本差不多,所以我们网友看到没有必要囤货,有需要就选择。RackNerd 商家这次2022农历新年也是有几款年付套餐。低至RackNerd VPS...

hostkvm:美国VPS,三网强制CU-VIP线路,$5/月,1G内存/1核/15gSSD/500g流量

hostkvm在2021年3月新上线洛杉矶新VPS业务,强制三网接入中国联通优化线路,是当前中美之间性价比最高、最火热的线路之一,性价比高、速度非常好,接近联通AS9929和电信AS4809的效果,带宽充裕,晚高峰也不爆炸。 官方网站:https://hostkvm.com 全场优惠码:2021(全场通用八折,终身码,长期) 美国 US-Plan0【三网联通优化线路】 内存:1G CPU:...

CheapWindowsVPS$4.5/月,美国VPS/免费Windows系统/1Gbps不限流量/,可选美洲、欧洲、亚洲等8大机房

国外商家提供Windows系统的并不常见,CheapWindowsVPS 此次提供的 2 款 VPS 促销套餐,提供 5 折永久优惠码,优惠后月付 4.5 美元起,价格还是挺诱人的,VPS 不限流量,接入 1Gbps 带宽,8 个机房皆可选,其中洛杉矶机房还提供亚洲优化网络供选择,操作系统有 Windows 10 专业版、2012 R2、2016、Linux等。Cheap Windows VPS是...

uri为你推荐
限制局域网网速有什么可以限制局域网的网速?发博客怎么发博客?免流量是什么意思腾讯大王卡免费流量是什么意思?magento模板magento系统缩略图大小在哪里修改?呼叫中心搭建如何建立适合自己的呼叫中心dnf客户端消失地下城勇士登录 客户端消失99客服软件下载99客服软件不兼容 win8无法清除dns缓存无法清除dns缓存 设置好后重起又是无法清除操控人心如何笼络人心,如何让别人有危机感。音响解码音响功放:源码输出和解码输出有什么区别
便宜服务器 樊云 godaddy主机 256m内存 特价空间 合肥鹏博士 有益网络 免费mysql 数字域名 双线主机 鲁诺 四川电信商城 空间登入 中国域名 register.com symantec 超低价 冰盾ddos防火墙 免费论坛空间 最好的空间留言 更多