URL与资源(http权威指南第二章)

来源:互联网 发布:家庭安装网络摄像头 编辑:程序博客网 时间:2024/06/06 10:39

URL与资源

本章将介绍:
- URL语法,以及各种URL组件的含义及其所做的工作
- 很多web客户端都支持的URL快捷方式,包括相对URL和自动扩展URL
- URL编码和字符规范
- 支持各种因特网信息系统的常见URL方案
- URL的未来
1. 浏览因特网资源
大多数URL都有同样的:“方案://服务器位置/路径“结构
URL未用户以及他们的浏览器提供了找到信息所需的所有条件,URL定义了用户所需的特定资源,它位于何处以及如何获取它
2. URL的语法
URL随着方案的不同而有所不同
URL的通用格式如下

<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>  
  • 方案
    方案告诉负责解析URL的应用程序应该使用什么协议,用冒号与其它部分分隔,大小写无关的
  • 主机与端口
    主机组件标示了因特网上能够访问资源的宿主机器(主机名或IP地址),端口组件标示了服务器正在监听的网络端口,对下层使用了TCP协议的http来说,默认端口是80
  • 用户名和密码
    很多服务器都要求输入用户名和密码才会允许用户访问数据,ftp服务器就是这样
ftp://anonymous:my_passwd@ftp.prep.ai.mit.edu/pub/gnu    
  • 路径
    路径组件说明了资源位于服务器的什么地方,通常很像一个分级的文件系统路径
  • 参数
    为了向应用程序提供它们所需的输入参数,以便正确的与服务器进行交互,URL中有一个参数组件,它们为应用程序提供了访问资源所需的附加信息
ftp://prep.ai.mit.edu/pub/gnu;tpye=d

路径组件可以分为若干路径段,每段都可以有自己的参数

http://www.joes-hardware.com/hammers;sale=false/index.html;graphics=true
  • 查询字符串
    很多资源,比如数据库服务,都是可以通过提问题或进行查询来缩小所请求资源类型范围的
http://www.joes-hardware.com/inventory-check.cgi?item=12731

?右边的是查询组件,URL的查询组件和标示网关资源的URL路径组件一起别发送给网关资源
- 片段
为了引用部分资源或资源的一个片段,片段组件表示一个资源内部的片段。http服务器通常只处理整个对象,浏览器从服务器获得整个资源之后,会根据片段来显示你感兴趣的那部分资源

http://www.joes-hardware.com/tools.html#drills
  1. URL快捷方式
    web客户端可以理解并使用几种URL快捷方式,包括相对URL和URL的自动扩展

    • 相对URL
      URL有两种方式:绝对的和相对的。绝对URL包含访问资源所需的全部信息
      相对URL是不完整的,要从相对URL中获取访问资源的全部信息,就必须相对于一个被称为基础的URL进行解析
      相对URL是URL的一种便捷缩略记法
      相对URL为保持一组资源的便捷性提供了一种便捷的方式,可以在半一一组文件的同时,仍然保持链接的有效性
      由相对URL转换到绝对URL的第一步就是找到基础URL,基础URL由三种方式:
    • 在资源中显示提供
      有些资源会显示指定基础URL,比如HTML文档中可能包含了一个定义了基础URL的HTML标记
    • 封装资源的基础URL
      没有显示指定基础URL,可以将该资源的URL作为基础
    • 没有基础URL
      这通常意味着有一个相对URL,但有时可能是一个不完整或损坏的URL

    • 自动扩展URL
      用户不需要输入完整的URL,浏览器会自动扩展
      这些扩展有两种方式:

    • 主机名扩展
      只要一些小提示,浏览器就可以将我们输入的主机名扩展为完整的主机名
    • 历史扩展
      将以前用户访问过的URL历史保存起来,当我们输入URL是,将输入URL与历史记录中的URL的前缀进行匹配,并提供一些完整的选项供我们选择
  2. 各种令人头疼的字符
    URL是可移植的,能被因特网任意协议安全传输,而且是可读的,完整的

    • URL字符集
      ASCII和转义序列
    • 编码机制
      通过“转义”表示法来表示不安全的字符,包含一个百分号(%),后面跟着两个表示字符的ASCII码的十六进制,例如:
    • ~ 0x7E http://www.joes-hardware.com/%7Ejoe
    • 空格 0x20 http://www.joes-hardware.com/more%20tools.html
    • % 0x25 http://www.joes-hardware.com/100%25satisfaction.html

    • 字符限制
      在URL中,有几个字符被保留起来,有着特殊的含义

  3. 方案
    • http
      超文本传输协议方案,没有用户名和密码,默认端口是80
    • https
      与http唯一的区别在于https使用了网景的SSL,提供了端到端的加密机制,默认端口是443
    • mailto
      mailto URL指向的是E-mail地址
    • ftp
      文件传送协议URL可以从ftp服务器上下载或向其上载文件
    • rtsp,rtspu
      RTSP URL是可以通过实时流传输协议解析的音/视频媒体资源的标识符
    • file
      方案file表示一台指定主机上可直接访问的文件
    • news
      方案news用来访问一些特定的文章或新闻组
    • telnet
      方案telnet用于访问交互式业务
原创粉丝点击