一、URI和URL的区别和联系
二、HttpServletRequest.getRequestURI()和HttpServletRequest.getRequestURL()返回的内容有
何不同?为什么会如此?
一、URI和URL的区别和联系
首先,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必须被指定。
URI (uniform resource identifier) |
既有相对的又有绝对的 (正是有了相对的所以才会有了,HttpServletRequest.getRequestURI()和HttpServletRequest.getRequestURL() 这两个方法并存,以满足获取绝对路径或相对路径的需求,绝对路径就通过URL来提供因为URI的绝对路径跟URL的绝对路径是相同的,相对路径就有URI来提供,因为这只能由URI提供) |
URL (uniform resource locator,一种具体的URI) | 只有绝对路径 |
URN (uniform resource name,一种具体的URI) |
二、HttpServletRequest.getRequestURI()和HttpServletRequest.getRequestURL()返回的内容有
何不同?为什么会如此?
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。
相关推荐
URI和URL区别 .
PHP获取当前url路径的函数及服务器变量:QUERY_STRING、REQUEST_URI、SCRIPT_NAME、PHP_SELF
java
微擎公众号模块提示redirect_uri协议与后台配置不一致错误码10039 的解决办法
今天做微信开发时候出现了redirect uri 参数错误。百度了一下。原来是Oauth授权域名没有填写 再授权域名中,填写自己用到的域名即可。 以上这篇redirect_uri参数错误的解决方法(必看)就是小编分享给大家的全部...
URI与URL的区别 自己看看
URI,URL常识,需要的可以看看
二、URI和URL的区别及关系 简而言之,URI是标识某一个资源,而URL用位置来标识一个资源。 一、URI、URL和URN Web上地址的基本形式是URI,它有多种形式:常见的有URL和URN。 URI = Universal Resource Identifier ...
主要介绍了CI框架源码解读之URI.php中_fetch_uri_string()函数用法,结合实例形式分析了CI框架中URL路由机制的原理与相关的config配置文件设置方法,需要的朋友可以参考下
资源分类:Python库 所属语言:Python 资源全名:aws_s3_url2uri-0.1.2-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
Boost.URL是一个用于操作统一资源标识符(URI)和定位器(URL)的库。
ubutnu16.04系统安装superset配置说明,可根据操作完成superset配置使用
有两种形式: URL:目前URI的最普遍形式就是无处不在的URL或统一资源定位器。 URN:URL的一种更新形式,统一资源名称(URN, Uniform Resource Name)不依赖于位置,并且有可能减少失效连接的个数。但是其流行还需...
ZenCart URL目录式链接Ceon Url Mapping SEO插件,这款插件也是大家比较喜欢的,唯一的缺点就是不自动生成友好的url,需要你手动...到此为止zencart插件安装完毕,快去后台编辑下分类和产品的URL,生成后就可以访问了。
REST URI(URL是其子类)命名规范.zip
URL和URI的使用的方法。获取网络上的数据。
URI就是一种资源定位机制,它是比较笼统地定位了资源,并不局限于客户端和服务器,而URL就定位了网上的一切资源,只要是网上的资源,都有唯一的URL
url_file_name()在根据url的形式判断该保存为什么样的文件名,并进行了多方面的考虑,最终该函数调用了append_uri_pathel(),该函数会判断url中的特殊字符,例如空格等,如果遇到这些字符wget把它进行转义,而问题就...