java的URI和URL到底是什么
Posted 技术让世界更精彩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java的URI和URL到底是什么相关的知识,希望对你有一定的参考价值。
在我们做开发时,经常有URI和URL弄混的问题,如果当时直接看URI和URL的源码就不可能弄混。首先我总结一下URI和URL的关系:他们的关系是:URL是一种特殊的URI,是URI包括URL,
下面用公式的形式说明URI到底是什么?
URI=[scheme:]<scheme-specific-part>[#fragment] 这正好可以用URI类中的getScheme getSchemeSpecificPart 以及getFragment得到.
在scheme为null时,这个URI被称为相对的URI。 在scheme不为空时URI称为绝对的URI
而<scheme-specfic-part>=[//authority]<path>[:query]
在path为空时称为不透明的URI,在不为空时称为透明的URI
authority 又可以分为:[userinfo@]<host>[:port]
从这个公式我们可以看到URI确实包括URL。
下面写一个示例代码
package com.timo; import java.net.URI; public class URITest { public static void main(String[] args) throws Exception{ //创建一个uri,根据[scheme:]<scheme-specific-part>[#fragment] URI uri = new URI("http", "//qinlin@localhost:8080/oi/oi?user=\'aieg\'", "iewio"); System.out.println(uri); System.out.println(uri.getPath()); } }
调试代码的图片如下,从下图可以看到上述公式的各个值是什么。
以上是关于java的URI和URL到底是什么的主要内容,如果未能解决你的问题,请参考以下文章
URL中的锚点(fragment片段标识符)是什么?(hash mark(#))(HTML 页面内定位)(之前学html不是学了吗?忘啦?)(SEO 搜索引擎优化)