文章目录
  1. 1. http协议之URL
    1. 1.1. URI(Uniform Resource Identifier) 统一资源标识符
    2. 1.2. URL 统一资源定位符
      1. 1.2.1. URL遵循的标准格式
      2. 1.2.2. URL语法
        1. 1.2.2.1. 用户名和密码
        2. 1.2.2.2. 参数
        3. 1.2.2.3. 查询字符串
        4. 1.2.2.4. 片段
      3. 1.2.3. URL快捷方式
        1. 1.2.3.1. 基础URL
        2. 1.2.3.2. 自动扩展URL
      4. 1.2.4. URL编码
      5. 1.2.5. 常见的URL方案(协议)

http协议之URL

URI(Uniform Resource Identifier) 统一资源标识符

URI就像因特网上的邮政地址一样,在世界范围内唯一标识并定位信息资源。

URL 统一资源定位符

是资源标识符的最常见形式,是URI的一个子集(另一个是URN)。URL描述了一台特定服务器上某资源的特定位置。它们可以说明如何从一个精确、固定的位置获取资源。

URL遵循的标准格式

  1. URL的第一部分被称为方案(scheme),说明了访问资源所使用的协议类型。如http://
  2. 第二部分给出了服务器的因特网地址
  3. 其余部分制定了Web服务器上的某个资源

现在几乎所有的URI都是URL

URL语法

1
<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<flag>
  1. 方案:使用的协议,不区分大小写
  2. 用户:访问某些资源需要用户名
  3. 密码:用户对应的密码 中间用:分割
  4. 主机:服务器的主机名或IP地址
  5. 端口:服务器正在监听的端口号
  6. 路径:服务器资源的本地名,路径组件的语法是与服务器和方案有关
  7. 参数:某些方案会用这个组件来指定输入参数。参数为名/值对。URL中可以包含多个参数字段
  8. 查询:传递的参数,用”?”将其与URL的其余部分分隔开
  9. 片段:一小片或一部分资源的名字,这个字段是在客户端内部使用的,通过字符”#”与URL其他部分分隔开来
用户名和密码

很多服务器都要求输入用户名和密码才允许用户访问资源。常见的有FTP服务器。
例如:

1
2
3
ftp://192.168.1.2
ftp://anonymous@192.168.1.2
ftp://anonymous:my_pwd@192.168.1.2

参数

为了向应用程序提供它们所需的输入参数,以便正确地与服务器进行交互,URL中有一个参数组件。这个就是URL中的名值对列表,由字符”;”与其他部分分隔。
如:

1
2
ftp://192.168.1.2;type=d
http://192.168.1.2/index.html;sale=false/login.html;id=true

查询字符串

很多资源都可以通过提问题或者查询来缩小所请求资源类型的范围。
如:

1
http://192.168.1.2/login.html?user=zhangsan&password=123456

经常使用的http get请求传递的参数就是查询字符串

片段

有些资源,比如html,除了资源级之外,还可以进一步划分。比如,对一个带有章节的大型文本文档来说,资源的URL会指向整个文档,但有时我们希望能够指定资源中的某些章节。
片段组件用来表示一个资源内部的片段。如一个特定的图片或小节
片段挂在URL的右边,前面用一个”#”与其他部分分隔。

HTTP服务器通常只处理整个对象,而不是对象的片段,客户端不能将片段传给服务器,浏览器从服务器获取整个资源后,会根据片段来显示部分资源。

URL快捷方式

URL有两种方式:绝对URL和相对URL,相对URL只是URL的片段或一部分。处理URL的程序(如浏览器)能够在相对和绝对URL之间进行转换。相对URL有利于资源的迁移,因为相对URL都是相对于新基础进行解释的。这样可以实现在其他服务器上提供镜像内容之类的功能。

基础URL

转换处理的第一步就是找到基础URL。基础URL是作为相对URL的参考点使用的。有以下几种方式:

  1. 在资源中显示提供 如html中的标签
  2. 封装资源的基础URL 如果在一个没有显示指定基础URL的资源中发现一个相对URL,可以将它所属资源的URL作为基础
自动扩展URL

浏览器一般都提供自动扩展URL的功能
主要的扩展方式:

  1. 主机名扩展 如在浏览器中输入 google.com ,浏览器会自动扩展为http://google.com
  2. 历史扩展 对浏览器历史记录进行匹配查询

URL编码

使用一种”转义”表示法来表示各种不安全的字符(保留及受限字符)。
如:~ 空格 %等

常见的URL方案(协议)

  1. http 超文本传输协议 默认端口80
  2. https 加密的http,使用SSL进行安全加密 默认端口443
  3. mailto 指向Email地址,如mailto:wustrive2008@gmail.com
  4. ftp 文件传输协议,用来从ftp服务器上传或下载文件
  5. rtsp,rtspu 通过实时流传输协议解析音/视频媒体资源的标识符
  6. file 从一台共享主机上直接访问文件
  7. news 用来访问一些特定的文章或新闻组
  8. telnet 用户访问交互式业务
文章目录
  1. 1. http协议之URL
    1. 1.1. URI(Uniform Resource Identifier) 统一资源标识符
    2. 1.2. URL 统一资源定位符
      1. 1.2.1. URL遵循的标准格式
      2. 1.2.2. URL语法
        1. 1.2.2.1. 用户名和密码
        2. 1.2.2.2. 参数
        3. 1.2.2.3. 查询字符串
        4. 1.2.2.4. 片段
      3. 1.2.3. URL快捷方式
        1. 1.2.3.1. 基础URL
        2. 1.2.3.2. 自动扩展URL
      4. 1.2.4. URL编码
      5. 1.2.5. 常见的URL方案(协议)