• HTTP权威指南------1.2URL与资源


    HTTP权威指南------URL与资源

    URL与资源

    URI与URL

    URL(统一资源定位器)与URN(统一资源名)共同构成了URI(统一资源标识符)。
    URL是通过描述资源的位置来标识资源的,而URN是通过名字来标识资源的,是与资源所处位置无关的,HTTP中处理的只是URL,其组成为:

    • 方案(scheme): 说明访问的协议方式。
    • 位置(host): 说明资源的位置,通常是以主机IP或者域名表示。
    • 路径(path): 说明对于资源在主机中的位置。

    URL的语法

    完整的URL由九部分构成,但是不是说URL要使用全部的九个部分,而是这九个部分构成了通用的格式。
    <scheme> : //<user>:<password> @ <host>:<port>/<path>;<params> ? <query> # <flag>
    在这里插入图片描述

    • scheme: 方案说明了对资源的访问方式,负责告知程序应当用什么协议,其大小写不敏感。
    • host: 对应标注了主机的位置,可以是IP也可以是域名。
    • port: 不同的协议对应不同的应用,相应的占用不同的端口。
    • user与password: 有些应用协议是需要用户和密码进行身份认证的,比如ftp服务器,就可以使用user与password在URL中进行认证,ftp如果不指定用户与密码,则对应的会有一个匿名的用户名与一个默认的密码。
    • path: 说明资源在主机中的对应位置,对应的每个路径段还可以添加额外的参数来辅助控制。
    • params: 对应用于辅助资源获取的参数,可以在路径后面进行提供,也就是在最后一个路径端提供,或者在每个路径段都可以提供参数,得到这样的形式:
      <scheme>: //<host>/<path>;<params>/<path>;<params>/<path>;<params>…
    • query: 查询字符串可以用来查询与缩小请求资源类型的范围。具体的查询参数以键值对的形式表示,键值对之间使用 ‘&’ 来进行分割。
    • flag: 对于一些资源类型可以进行进一步的细分,URL的前面部分指向的是一个大型的文档类型,可以将这一文档细分,得到对应的片段,进行分段的请求,使用 ‘#’ 字符来进行划分;但是相应的服务器处理的是整个资源,客户端无法传片段给服务器,相应的浏览器是获取全部的部分,之后再对用户感兴趣的部分进行展示。
      在这里插入图片描述

    字符与编码

    ASCII码无法满足世界各个语言的要求,所以使用一种转义序列,将ASCII中的有限子集拿来对任意的字符值进行编码。

    编码的过程为了保证安全性,使用一种转义的方式来表示一些敏感的字符串。其形式是以 ‘%’ 开始后面加上两个ASCII码的十六进制数。
    在这里插入图片描述
    相应的敏感字符就会被限制,有些是被保留他用,有的与其他的协议成分混淆。
    在这里插入图片描述
    在应用程序进行URL交流之前,其会先将不安全的字符进行编码,形成一种规范形式,之后就可以无顾虑的在程序间进行共享了。

  • 相关阅读:
    DB2、ORACLE SQL写法的主要区别
    最快的序列化组件protobuf的.net版本protobuf.net
    Oracle迁移到DB2常用转换
    模拟百度分页算法
    MySQL 自关联查询
    python 实现cm批量上传
    python实现京东秒杀
    百度地图商家爬虫
    django BBS
    python 堆排序
  • 原文地址:https://www.cnblogs.com/yanzs/p/13788225.html
Copyright © 2020-2023  润新知