URL与URI的区别

URL和URI之间的区别是什么 URL和URI之间的区别是什么?本篇文章就给大家介绍URL和URI分别是什么?有什么用?让大家了解URL和URI之间的区别,希望对你们有所帮助。 打造全网web前端全栈资料库(总目录)看完学的更快,掌握的更加牢固,你值得拥有(持续更新) URL是什么?有什么用? URL(统一资源定位符)是Internet上资源的地址,可以定义为引用地址的字符串,用于指示资源的位置以及用于访问它的协议。 URL是在网络上定位资源的最普遍使用的方式,它提供了一种通过描述其网络位置或主要访问机制来检索物理位置. 阅读详情

这两天在写代码的时候,由于涉及到资源的位置,因此,需要在Java Bean中定义一些字段,用来表示资源的位置,比如:imgUrl,logoUri等等。但是,每次定义的时候,心里都很纠结,是该用imgUrl还是imgUri呢?

同样的,另外一个问题:String HttpServletRequest.getRequestURI();和StringBuffer HttpServletRequest.getRequestURL();返回的内容有何不同?为什么会如此?

带着这些问题到网上去搜了下,没发现让自己看了明白的解释,于是,想到了Java类库里有两个对应的类java.net.URI和java.net.URL,终于,在这两个类里的javadoc里找到了答案。

URIs, URLs, and URNs
首先,URI,是uniform resource identifier,统一资源标识符,用来唯一的标识一个资源。而URL是uniform resource locator,统一资源定位器,它是一种具体的URI,即URL可以用来标识一个资源,而且还指明了如何locate这个资源。而URN,uniform resource name,统一资源命名,是通过名字来标识资源,比如mailto:java-net@java.sun.com。也就是说,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抽象结构 [scheme:]scheme-specific-part[#fragment]

[scheme:][//authority][path][?query][#fragment]

authority为[user-info@]host[:port]

参考资料:

http://docs.oracle.com/javase/1.5.0/docs/api/java/net/URI.html

http://en.wikipedia.org/wiki/Uniform_Resource_Identifier

http://docs.oracle.com/javaee/5/api/javax/servlet/http/HttpServletRequest.html

ps:

java.net.URL类不提供对标准RFC2396规定的特殊字符的转义,因此需要调用者自己对URL各组成部分进行encode。而java.net.URI则会提供转义功能。因此The recommended way to manage the encoding and decoding of URLs is to use java.net.URI. 可以使用URI.toURL()和URL.toURI()方法来对两个类型的对象互相转换。对于HTML FORM的url encode/decode可以使用java.net.URLEncoder和java.net.URLDecoder来完成,但是对URL对象不适用。

用Coze平台30分钟打造《花光10亿》小游戏:零代码AI开发实战 本文详细介绍了如何利用字节跳动推出的Coze平台,在30分钟内零代码开发一款名为《花光10亿》的AI小游戏。通过配置提示词、集成图像生成插件、构建自动化工作流以及使用数据库功能,即使没有编程基础的用户也能快速将创意转化为可交互的智能应用,体验AI开发的便捷与高效。 阅读详情

相关推荐

Zemax操作40--序列模式中LD光源模拟

LD模拟

lzy750750的博客 9121

基于ADS122U04IPWR与STM32F413RH的工业级RTD高精度温度测量方案

RTD温度测量在工业与HVAC场景中面临宽温区、长引线及强电磁干扰等挑战,其核心在于通过高分辨率ADC与比率测量架构实现微欧级阻值分辨。24位Δ-Σ ADC内置PGA与双匹配激励电流源,配合三线制接法可有效抵消引线电阻,而比率测量技术则消除了激励电流与基准电压的漂移误差。该方案在冷库监控、锅炉采集及HVAC水系统中具备工程落地价值,借助STM32F413RH的浮点运算能力完成线性化与数字滤波,ADS122U04IPWR与STM32F413RH的组合为多路RTD高精度采集提供了稳定可靠的实现路径。

weixin_34302798的博客 576

七自由度机械臂逆运动学实战:从几何简化到KDL库高效求解

本文深入探讨了七自由度机械臂逆运动学求解的实战方法。针对冗余自由度带来的挑战,文章对比了两种核心方案:一是利用任务约束进行几何简化,快速求解特定任务;二是基于DH参数法配置KDL库,实现通用高效的数值迭代求解。文中结合宇树H1机器人实例,详细阐述了从模型解析、参数提取到代码实现与验证的全流程,并提供了几何法与KDL库的适用场景对比与避坑指南。

weixin_29044713的博客 639

URI URL和PATH 的区别

1.URL:Uniform Resource Locator 统一资源定位符 通过URL就可以找到服务器上的特定资源 例如:http://192.168.55.55:8080/logonDemo/logonServlet 服务器ID是192.168.55.55 服务软件端口号8080 2.URI:Uniform Resource Identifier 统一资源标识符 ...

helloGirl 1万+

保姆级教程:用GROMACS 2022.4的拉伸模拟(SMD)加速蛋白-蛋白组装过程

本文详细介绍了如何使用GROMACS 2022.4的拉伸分子动力学模拟(SMD)技术加速大蛋白组装过程。通过CHARMM36力场和SMD技术,将传统需要数月的蛋白结合过程缩短至数天,大幅提升模拟效率。文章包含参数设计、索引组创建、周期性边界处理等实战技巧,并提供了完整的GPU加速工作流和常见问题解决方案。

weixin_30338481的博客 446

python数据分析与可视化

Python数据分析主要包括数据清洗、数据探索和数据可视化三个部分。数据清洗是数据分析的重要环节,主要是对数据进行预处理,包括缺失值处理、异常值处理、数据类型转换等。数据探索则是通过对数据进行初步分析,了解数据的分布和特征,为后续的数据分析提供基础。数据可视化则是将数据以图形化的方式呈现,帮助人们更好地理解和分析数据。

2301_82032652的博客 7713

Spring居然还提供了这么好用的URL工具类,以前都没发现

1. 前言 开发中我们经常会操作 URL,比如提取端口、提取路径以及最常用的提取参数等等。很多时候需要借助于一些第三方类库或者自己编写工具类来实现,今天胖哥给大家介绍一种方法,无需新的类库引入,只要你使用了 Spring Web 模块都可以轻松来完成对 URL 的组装和分解提取。 2. UriComponents JDK 虽然提供了java.net.URI,但是终归还是不够强大,所以 Spring 封装了一个不可变量的 URI 表示org.springframework.web.util.UriCompon

m0_57286679的博客 1463

从理论到波形:NE555多谐振荡器设计与示波器实战验证

本文详细介绍了NE555多谐振荡器的设计原理与实战验证方法。从基础理论到电路参数计算,再到面包板搭建与示波器测量,全面解析如何利用NE555芯片实现稳定的方波输出。通过实际案例演示了频率调整、占空比优化等技巧,并提供了常见问题排查指南,帮助电子爱好者快速掌握这一经典电路设计。

weixin_29159613的博客 281

URI与Path的的分析

看到别人的文档有句话一直不能理解于是手动在实践中总结答案             文档是这样说的: [plain] view plaincopy       /**   * 在某些情况设置URLStreamHandlerFactory的方式不一定会生效.   * 在这种情况下,需要用FileSystem来打开一个文件的输入流,   *

lyglostangel的专栏 898

模拟CMOS 第2章 MOS器件物理基础

模拟CMOS 第2章 MOS器件物理基础 文章目录模拟CMOS 第2章 MOS器件物理基础2.1 基本概念2.1.1 MOSEFT开关2.1.2 MOSEFT结构2.1.3 MOS符号2.2 MOS的I/V特性2.2.1 阈值电压2.2.2 I/V特性的推导2.3 二级效应2.4 MOS器件模型2.4.1 MOS器件版图2.4.2 MOS器件电容2.4.3 MOS小信号模型2.4.4 MOS SPICE模型2.4.5 NMOS与PMOS器件的比较2.4.6 长沟道器件与短沟道器件的比较附录A 用作电容器MO

椰子奶糖的博客 5201

基于STM32的太阳能充电宝设计_资料编号31

系统硬件包括主控 STM32F103C8T6、0.96 OLED 显示屏、蜂鸣器、电源自锁开关、温度传感器 DS18B20、继电器、5 V DC 升压模块 、TB4056、18650锂电池、9 V太阳能板、稳压降压 5 V三极管。电源供应:锂电池为系统供电,9 伏太阳能板经 5 伏降压稳压三极管降压为 5 伏后传送到 TP4056,TP4056 为锂电池供电,因锂电池电压 3.7 伏,通过 5 伏 DC 升压模块升压到 5 伏为整个系统提供 5 伏电压。

嵌入式阿齐Archie 1万+

URI和URL的区别与联系

解析URI和URL之间的区别与联系一、URI1.什么是URI2.URI的组成二、URL1.什么是URL2.URL的组成三、URI和URL之间的区别。四、通俗理解 一、URI 1.什么是URI URI:统一资源标识符,表示Web上每一种可用的资源,如HTML文档,图像,视频片段,程序等都是由一个URI进行标识的。 2.URI的组成 通常由三部分组成: (1) 资源的命名机制; (2)存放资源的主机名; (3)资源自身的名称。 注:以上三点是对实例的解释,并不是URI的必要条件,URI只是一种概念,怎样实现无所

weixin_52148548的博客 2万+

vscode配置matlab工作环境

前面有两篇文章我们分别讲了在vscode里面如何配置C语言环境和python环境,那两篇文章总体来说比较复杂,当然这篇也有许多有趣的问题。 附上链接: 文章目录matlab简介基本要求code runner插件与matlab相关的插件添加路径小结code runner是否支持更多语言更多选择另一个选择 matlab简介 MATLAB是美国MathWorks公司出品的商业数学软件,用于数据分析、无线通信、深度学习、图像处理与计算机视觉、信号处理、量化金融与风险管理、机器人,控制系统等领域。 MATLAB是ma

Cachel Wood的博客 4541

URI与URL的区别

URI 统一资源标识符:用来标识Web上可访问的任意类型的资源(HTML,视频·,音频,程序) 比如现在有一个需求找某市的图书馆里的一本书(书也是资源):这本书的位置在“建设路好物图书馆文学区第三个书架的第四层的《XXX》” “《XXX》”相对于“文学区第三个书架的第四层“就是一个标识符 “文学区第三个书架的第四层的《XXX》“相对于“建设路好物图书馆”就是一个标识符 唯一资源标识符不是固定的,而是相对的。主要作用就是用于与其他资源区别开来的一个标识符。 URI由三部分组成: 1:访问资源的命名机制:比

weixin_44353042的博客 1万+

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

uri和url是啥区别

URI:统一资源标识符,是一个泛指,表示资源的标识。URL:统一资源定位符,是 URI 的一个子集,表示资源的具体位置及访问方法。

u012534547的博客 1309

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Java中URI 和 URL 的区别

URI 和 URL 的区别 文章目录URI 和 URL 的区别1. URI2. URL3. 总结 参考文章:https://blog.youkuaiyun.com/zcc7up/article/details/73551250 1. URI 表示一个 统一资源标识符 引用,Uniform Resource Identifiers ① URI 提供一个 toURL() 方法将 URI 转化成一个 URL...

落落free的博客 7714

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

通俗易懂理解URI和URL的区别

转发:https://blog.youkuaiyun.com/simplebam/article/details/72644094 关于URL和URI的区别,个人见解。    初学java,最近被一个概念搞得头晕脑胀,就是url和uri的概念和区别,网上查了一大通,发现各种回答眼花缭乱,有百科直接粘贴的,有胡说八道的,有故意绕来绕去的,我估计他自己都没搞懂,按照马士兵的说法就是,通通都是一些冠冕堂皇的套话,...

wnx_52055的博客 2万+

URI和URL的区别

URI (Uniform Resource Identifier):统一资源标志符 如果能在一定规则下把一个资源独一无二的标识出来,即可称其为URI 比如,如果国家不允许人名重复,那么,有人叫“张三”,有人叫“张三蟲矗2020”,此时这两个人名就是统一资源标志符,这里的重点是,无论用什么规则,只要能唯一标志某个资源,那它就是URI,再比如,在人名会重复的情况下,地球村\中国\四川省\成都市\男子学院\计算机系\2020级\一班\一号\大帅比\张三,能独一无二的标识一个人,那它也可称为URI URL (Uni

小夏陌的博客 1万+

url与uri的区别

转载自:http://blog.youkuaiyun.com/niuox/article/details/7312843 这是我见过的讲得最好的关于url和uri区别的文章,在这里转载一下。 什么是URL URL是Uniform Resoure Locator(统一资源定位器)的缩写。就是WWW页的地址。 其URL地址格式排列为:scheme://host:Port/path 其

CSerxy的专栏 2351

URI 和 URL 的区别

一种定位资源的主要访问机制的字符串,用于指示资源的位置以及用于访问它的协议。

m0_46459413的博客 1282

URL与URI的区别和联系

最近学习JavaWeb时发现URL与URI这两个缩写,于是感到很困惑,不知道这两个名字很像的缩写表示什么含义,于是我上网搜了一下,总结如下: 一、关于URL   1) URL定义:   在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL(Uniform Resource Locator,统一资源定位符),它是WWW的统一资源定位标志,就是指网络地址。   简单来说就是你打开一个浏览器,地址栏上显示的网址,例如:      2) URL格式:   URL由三部分组成:资源类型

残风乱了温柔的博客 1032

URL和URI的区别

转自:http://www.cnblogs.com/hust-ghtao/p/4724885.html译者:华科小涛:http://www.cnblogs.com/hust-ghtao/:初学http协议,就被这两个相似的术语搞蒙了,查了很多资料,总算搞清楚了。(找资料还是英文啊,靠谱。。。)。本篇博客翻译自:https://danielmiessler.com/study/url_vs_uri/...

ChasingdreamLY的博客 807

Web基础-Uri跟Url的区别

参考博客:关于URL跟URI的区别,个人见解 - J2EE 关于URL和URI的区别,个人见解。     初学java,最近被一个概念搞得头晕脑胀,就是url和uri的概念和区别,网上查了一大通,发现各种回答眼花缭乱,有百科直接粘贴的,有胡说八道的,有故意绕来绕去的,我估计他自己都没搞懂,按照马...

qq_40384776的博客 164

URI、URL、URN区别

URI、URL、URN区别

hupei 1071

java uri url区别_URI和URL的区别

这两天在写代码的时候,由于涉及到资源的位置,因此,需要在Java Bean中定义一些字段,用来表示资源的位置,比如:imgUrl,logoUri等等。但是,每次定义的时候,心里都很纠结,是该用imgUrl还是imgUri呢?同样的,另外一个问题:String HttpServletRequest.getRequestURI();和StringBuffer HttpServletRequest.ge...

weixin_32235191的博客 522
上一篇: stack,deque,queue对比
下一篇: 安装hadoop-2.6.5,zookeeper-3.4.9,hbase-1.2.4,sqoop-1.99.7,snappy压缩配置
laborwork
博客等级 码龄14年 3粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值