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

华圣云 HuaSaint-阿里云国际站一级分销商,只需一个邮箱即可注册国际账号,可代充值

简介华圣云 HuaSaint是阿里云国际版一级分销商(诚招募二级代理),专业为全球企业客户与个人开发者提供阿里云国际版开户注册、认证、充值等服务,通过HuaSaint开通阿里云国际版只需要一个邮箱,不需要PayPal信用卡,不需要买海外电话卡,绝对的零门槛,零风险官方网站:www.huasaint.com企业名:huaSaint Tech Limited阿里云国际版都有什么优势?阿里云国际版的产品...

美国cera机房 2核4G 19.9元/月 宿主机 E5 2696v2x2 512G

美国特价云服务器 2核4G 19.9元杭州王小玉网络科技有限公司成立于2020是拥有IDC ISP资质的正规公司,这次推荐的美国云服务器也是商家主打产品,有点在于稳定 速度 数据安全。企业级数据安全保障,支持异地灾备,数据安全系数达到了100%安全级别,是国内唯一一家美国云服务器拥有这个安全级别的商家。E5 2696v2x2 2核 4G内存 20G系统盘 10G数据盘 20M带宽 100G流量 1...

RAKsmart美国VPS上市,活动期间5折抢购仅$30,$1.99/月

RAKsmart机房将于7月1日~7月31日推出“年中大促”活动,多重惊喜供您选择;爆款I3-2120仅30美金秒杀、V4新品上市,活动期间5折抢购、爆款产品持续热卖、洛杉矶+硅谷+香港+日本站群恢复销售、G口不限流量产品超低价热卖。美国VPS、日本VPS及香港VPS享全场7折优惠;爆款VPS $ 1.99/月限量秒杀,10台/天,售完即止, VPS 7折优惠码:VPS-TP-disRAKsmar...

uri为你推荐
大蟒蛇平台手机软件的制作stm32视频教程只有众想科技刘洋讲了STM32视频教程是边讲边写的吗?限制局域网网速怎么限制局域网的网速?goalgoalgoal为什么西班牙进球,央视解说喊那么多进啦spotlight搜索是什么spotlight是什么意思spotlight搜索是什么如何启动Spotlight搜索智能机刷机软件请问有什么刷机软件,是刷安卓系统手机的软件,自己用过刷过机!圣诞节网页制作圣诞节贺卡制作msn邮箱后缀MSN 可以添加哪些后缀的bt4破解教程破解软件BT4
域名中介 vps代购 代理域名备案 wordpress主机 vpsio 阿里云代金券 免费smtp服务器 佛山高防服务器 qq云端 购买国外空间 电信托管 登陆空间 网站加速软件 数据库空间 lamp什么意思 免费个人网页 国外免费云空间 时间服务器 紫田网络 好看的空间留言代码 更多