URI与URL与URN

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

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

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


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

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

这些方法的意义在于它们是什么,因为HttpRequest API随着时间的推移而发展,并且这种演变必须保持向后兼容性。

getRequestURI()确实返回一个URI, getRequestURL()确实返回一个URL,但是URI和URL是用于不同的事情。


java.net.URI API给出了一个很好的解释:

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

链接地址: http://www.djcxy.com/p/70453.html

上一篇: URI vs URL vs URN

下一篇: What's the difference between path and URL in iOS?