美文网首页
URL和URI、相对URL的基本概念 学习笔记

URL和URI、相对URL的基本概念 学习笔记

作者: shu2man | 来源:发表于2018-03-31 23:45 被阅读0次

    URL(Uniform Resource Locator)是最常见的URI(Uniform Resource Identifier)。URI只标识资源,URL既标识资源也获取资源。
    URL是在JAVA中定位和获取网络数据最为简便的方法。

    URI

    URI语法格式如下:
    模式:模式特定部分
    当前的,模式有:
    data:;连接中直接包含的Base64编码数据,参见RFC 2397;
    file:本地磁盘上的文件
    ftp:FTP服务器
    http:使用超文本传输协议的国际互联网服务器
    mailto:电子邮件地址
    magnet:可以通过对等网络下载的资源
    telnet:与基于Telnet的服务的连接
    urn:统一资源名(Uniform Resource Name,URN)
    还包括其他rmi,jar,jndi,doc等

    URL

    URL的语法格式为:
    protocol://userInfo@host:port/path?query#fragment
    protocol:可以是file、ftp、http、https、magnet、telnet等
    userInfo:用户信息
    host:服务器的主机名或IP地址
    port:可选,在默认端口执行则不需要(如http在80端口)
    用户信息、主机和端口一起构成权威机构(Authority),以上字段均可通过对应的get方法(如getProtocol()、getHost()等)获取,除getPort返回int外,其他方法均返回String。

    path:指向服务器的特定目录
    query:向服务器提供的字符串参数

    相对URL

    继承父文档部分信息,可以省去部分信息,将新目录和父目录进行裁截、拼接。
    例如:
    在浏览器浏览
    http://www.ibiblio.org/java/javafaq/javatutorial.html
    的时候点击相对链接
    <a href="javafaq.html">
    则将访问:
    http://www.ibiblio.org/java/javafaq/javafaq.html

    若相对链接以"/"开头则相对的是根目录,若点击以下链接:
    <a href="/projects/ipv6">
    将访问:
    http://www.ibiblio.org/projects/ipv6

    相对链接允许使用多种协议来提供文档树,允许将文档树从一个网站复制或移动到另一个网站,而不会破坏所有的内部链接。

    构建URL

    最常用的直接由字符串构建:
    public URL(String url) throws MalformedException
    或通过指定协议、主机名和文件构建:
    public URL(String protocol,String hostname,String file)throws MalformedException
    当创建的URL为虚拟机不支持的协议时 抛出MalformedException异常。

    URL的相等性和比较

    指向同一主机上同一端口和同一路径下的相同资源,而且拥有相同片段标识符和相同查询字符串的两个URL被认为是相同的。
    equals:尝试解析DNS服务以判断两个URL是否相同,是一个阻塞的IO操作;
    sameFile:与equals基本一致,但 不考虑片段标识符。

    URL没有实现Comparable。

    URL编码和解码

    分部分进行,避免对不需要编解码的部分进行操作

    相关文章

      网友评论

          本文标题:URL和URI、相对URL的基本概念 学习笔记

          本文链接:https://www.haomeiwen.com/subject/dqgncftx.html