美文网首页JavaScript学习笔记
浏览器相对url的解析

浏览器相对url的解析

作者: 小睿7777777 | 来源:发表于2016-03-13 19:13 被阅读563次

    使用相对url,可以引用同一服务器的其它资源,相对url缺失的部分,由发起引用的那个url自身的信息补齐。如果url字符串不是以一个有效的协议名开始,后面没有跟着冒号,又或者没有那个有效的“//”分隔符,那该url就是一个需要被引用的相对url。


    相对url大体大体可以分为5种情况,其解析规则如下:

    (1)有协议名称,但没有域名信息

    对于这种形式的url,它的协议,路径,查询字符串和片段ID都以它自身为准,但域名信息的部分,以引用它的那个页面地址为准。

    (2)没有协议名,但有域名信息

    在这种情况下,协议名称由原发起页面确定,而所有接下来的url信息都取自这个相对url,构成完整的url。

    (3)没有协议名,没有域名信息,但有路径

    这种情况下分为两种结果,如果相对url的开头不是斜杠,则相对路径会拼接在引用url最右边的“/”后面,如果最右边是文件名,则要砍掉文件名。另外如果相对url的开头确实是个斜杠,则应该忽略引用页面自身的路径信息,直接把相对路径拼在引用url的域名后面。

    (4)没有协议名,没有域名信息,没有路径,但有查询字符串

    这种情况下,协议,域名,路径信息全部原封不动的从原引用url复制过来,查询字符串和片段ID则来自相对url。

    (5)只有片段ID

    只替换片段ID的部分,其他所有信息全部原封不动的从原引用url复制过来。

    相关文章

      网友评论

        本文标题:浏览器相对url的解析

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