URL

作者: 虾想家 | 来源:发表于2017-07-19 23:49 被阅读8次

    统一资源定位符(或称统一资源定位器/定位地址、URL地址等[1],英语:Uniform / Universal Resource Locator,常缩写为URL),有时也被俗称为网页地址(网址)。如同在网络上的门牌,是因特网上标准的资源的地址(Address)。它最初是由蒂姆·伯纳斯-李发明用来作为万维网的地址。现在它已经被万维网联盟编制为因特网标准RFC 1738。

    协议类型:[//服务器地址[:端口号]][/路径]文件名[?查询][#片段]
    scheme://login:password@address:port/path/to/resource?query_string#fragment

    1. 协议名称
    2. 层级URL的标记符号(此项固定不变)
    3. 访问资源需要的凭证信息
    4. 从哪个服务器获取数据
    5. 需要连接的端口号(可选项)
    6. 指向资源的层级UNIX文件路
    7. “查询字符串”参数(可选项)
    8. “片段ID”(可选项)

    如果客户端到服务端各层的解析没有做好,就可能出现安全问题。

    保留字符和百分号编码或URL编码
    URL有个重点就是编码方式。有三类,
    编码:escape、encodeURI、encodeURIComponent,
    解码:unescape、decodeURI、decodeURIComponent,
    这三个编码函数是有差异的,甚至浏览器在自动URL编码也存在差异。

    Chrome 58、Firefox 52、IE 11运行结果如下

    字符 escape encodeURI encodeURIComponent
    : %3A : %3A
    / / / %2F
    ? %3F ? %3F
    # %23 # %23
    [ %5B %5B %5B
    ] %5D %5D %5D
    @ @ @ %40
    ! %21 ! !
    $ %24 $ %24
    & %26 & %26
    ' %27 ' '
    ( %28 ( (
    ) %29 ) )
    * * * *
    + + + %2B
    , %2C , %2C
    ; %3B ; %3B
    = %3D = %3D

    解码情况是unescape可以解码上述字符的所有字符,
    decodeURI只能解码上述%5B和%5D两个字符,
    decodeURLComponent能解码上述的所有字符。

    相关文章

      网友评论

          本文标题:URL

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