URL必须以/或不在Java的URL类中结束吗?

时间:2011-11-28 05:49:28

标签: java sockets httpurlconnection

我需要使用连接到中间件服务器 java URL和URLConnection类。

当搜索到网络时,我发现了一些例子 网址以/结尾的位置 (http://www.oracle.com/)

URL oracle = new URL("http://www.oracle.com/");

在某些例子中,网址没有/

URL ur = new URL("http://www.mydomain.com/myfile.gif");

请有人告诉我,这是否有所不同,如果有的话 那么我们如何选择一个URL值?

2 个答案:

答案 0 :(得分:3)

没必要。

如果网址不包含路径部分(仅包含域名及其方案),则可能包含尾部斜杠,也可能不包含http://www.oracle.com/http://www.oracle.com。两者都应该是可访问的但是,这个版本的Normailzed必须有斜杠。

URL normalization是一种允许以一致的方式编写URL的约定。在URL规范化中,尾部斜杠表示URL是目录而不是文件。例如:

 "http://www.oracle.com/" <- root path
 "http://www.oracle.com/pages/" <- "pages" is a directory
 "http://www.oracle.com/pages" <- "pages" is a file
 "http://www.oracle.com/myfile.gif" <- "myfile.gif" is a file
 "http://www.oracle.com/myfile.gif/" <- "myfile.gif" is a directory

但是,此约定仅适用于规范化的URL,是否应该具有尾部斜杠,完全取决于服务实现。

答案 1 :(得分:1)

不,网址不必以/结尾,但有些网址会这样做。是否取决于您尝试访问的URL(通常您将使用您未经修改的URL)。