URI与URL对比URN

时间:2013-09-03 09:57:33

标签: java url uri urn

有很多关于互联网的讨论,发布,评论和问题,以区分URI,URL和URN。 关于它的一个answer解释了它,但我对我的代码中的实现结果感到困惑。

问:如果URI是超级网址集,那么它是如何得到以下输出的:

URI : /XXX/abc.do 

URL : http://examplehost:8080/XXX/abc.do

当我写下面代码时:

System.out.println(“URI : “+ httpRequestObj.getRequestURI());
System.out.println(“URL : “+ httpRequestObj.getRequestURL());

编辑:您能否通过将JAVA和URI,URL和URN的原始概念保持在范围内来分享详细答案。

此致

Arun Kumar

2 个答案:

答案 0 :(得分:5)

java.net.URI API提供了一个很好的解释:

URI是统一资源标识符,而URL是统一资源定位符。因此,抽象地说,每个URL都是一个URI,但不是每个URI都是一个URL。这是因为URI的另一个子类别,统一资源名称(URN),它们命名资源但不指定如何定位它们。上面显示的mailto,news和isbn URI是URN的示例。

答案 1 :(得分:1)

  

如果URI是超级URL的设置,那么它是如何得到以下输出的......

URI和URL的定义不能用于推断getRequestURI()getRequestURL()的行为。要了解方法返回的内容,您需要阅读javadocs和Servlet规范。

这些方法的含义就是它们的含义,因为HttpRequest API随着时间的推移而发展,并且进化必须保持向后兼容性。

getRequestURI()会返回一个URI,而getRequestURL()会返回一个网址,但URI和网址会针对不同的内容。