地址描述
URL
统一资源定位符(Uniform Resource Locator),定位资源的位置
通过java.net.URLStreamHandler可以看出URL的基本形式
1 | protected String toExternalForm(URL u) { |
对应URL内的成员可以把URL的形式总结成
1 | protocol://authority/file[#ref] |
URI
统一资源标志符(Uniform Resource Identifier),定义资源的高层次概念标识
1 | [scheme:]scheme-specific-part[#fragment] |
协议也是可选的
URN
统一资源名称(Uniform Resource Name),只定义资源名称
如mailto:test@java.sun.com
,urn:isbn:096139210x
关系
- URL和URN都是URI的子集
- URL可以定位到资源,必须是包含协议的完整绝对路径,而URI可以是相对的
- URL不会进行转义编解码,只是单纯的结构化文本,URI具备转义编解码功能
- 可以通过URI的toURL方法和URL的toURI方法相互转换
应用
定义相对URL一定要传另一个绝对URL作为参照进行信息补全
1 | URL urlA = new URL("http://foo.com"); |
URL并不能进行编解码,转成URI再获取可以实现编解码
1 | URL urlA = new URL("http://foo.com/hello world"); |
大小写敏感
协议,域名都是大小写不敏感的
路径,查询等其他部分认为是大小写敏感。Win系统不敏感,Unix敏感
一分也是爱~
版权声明
This site by Linest is licensed under a Creative Commons BY-NC-ND 4.0 International License.
由Linest创作并维护的博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。