zoukankan      html  css  js  c++  java
  • HTTP协议之URL

    1.什么是URL

      URL的全称是Uniform Resoure Locator,统一资源定位器。URL是浏览器寻找信息时所需的资源位置。当一个人将浏览器指向一个URL,浏览器就会在幕后发送适当的协议报文来获取人们所期望的资源。说到URL就不得不说下URI与URN这总是伴随出现的概念。

      URI的全称是Uniform Resource Identifier,统一资源标识符。

      URN的全称是uniform resource name,统一资源命名。

      显然,URI是一个更加抽象的概念,定义了资源的唯一性标识,而URL与URN是他的两种实现。前者根据具体位置定位资源,后者根据名称定位资源。而HTTP协议处理的基本上都是URL。

      URL的出现整合了互联网资源的获取方式,使得资源的获取方式都变得明朗起来。

    2.URL语法

    URL语法可以归纳到下面的通用格式上:

    <scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>
    • scheme:方案名,常见的是http/https/ftp/mail等协议。方案名是大小写无关的,即http://www.baidu.com与HTTP://www.baidu.com是等价的。
    • user:用户名,在http协议中比较少见,默认值是匿名用户"anonymous"
    • password:密码,与上面的user性质相同。在ftp协议中是比较常见的,比如ftp://user:password@ftphost/download。如果不指定密码,不同的浏览器实现会发送不同的默认密码。
    • host:主机,资源的具体承载机器。一般使用域名或者IP来表示,使用IP的可以直接定位到具体机器,而使用域名的需要经过DNS解析后获得IP。
    • port:端口,机器上的具体应用。在一台机器上一个端口对应一个应用,有了host+port就定位到资源的具体应用上了。http协议的默认端口是80,https的默认端口是443。
    • path:路径,资源的分级目录。类似于文件系统的路径,可以使用多个/进行层级分割,每层都可以跟参数。
    • params:路径对应的参数,不常用但合法。比如:http://www.baidu.com/china;type=a/beijing;degree=b
    • query:查询字符串,与后端程序交互的关键,以?开始。比如:http://www.baidu.com?item=a&color=b
    • frag:片段,也叫锚点。前面部分可以定位到具体某个资源文件,片段用来标识具体哪一个部分。而片段是不会发送给服务器的,服务器返回整个对象,浏览器根据片段来展示不同效果。

    3.URL字符集

    • URL是可移植的,所以为保障安全传输,要选用较小的、通用的字符集。
    • URL要有可读性,所以不可见,不可打印的字符也不能使用在URL中。
    • URL要有完整性,能包含各种复杂的含义,所以通过转义机制将不安全的字符编码转移为安全的字符编码。

      介于上述原因,URL的设计者采用了US-ASCII编码,同时引入了转移序列的概念。具体的转译方法就是,将不安全的字符使用一个百分号%,后面跟着两个表示字符ASCII码的十六位进制数。比如空格对应ASCII码为32,所以转义后为%20。

      而对于中文字符,则进行这样不同的处理。由于2个十六位进制数是一个字节的长度,所以就是将不安全字符对应的二进制按照字节划分,每个字节前跟了一个%。比如“你好”的十六进制数是e4bda0e5a5bd,经UrlEncode后就是%e4%bd%a0%e5%a5%bd。

  • 相关阅读:
    Account group in ERP and its mapping relationship with CRM partner group
    错误消息Number not in interval XXX when downloading
    错误消息Form of address 0001 not designated for organization
    Algorithm类介绍(core)
    梯度下降与随机梯度下降
    反思
    绘图: matplotlib核心剖析
    ORB
    SIFT
    Harris角点
  • 原文地址:https://www.cnblogs.com/zzp0320/p/8031159.html
Copyright © 2011-2022 走看看