URI是一类更通用的资源标示符,URL实际上是它的一个子集。URI是一个通用的概念,由两个主要的子集URL和URN构成,URL是通过描述资源的位置来标示资源的,而URN则是通过名字来标示资源的,与它们当前所处位置无关。
URL的语法和解释
①参数部分:某些方案会使用这个组件来制定输入参数。参数为 名/值 对。URL中可以包含多个参数字段,它们互相之间以及与路径的其余部分使用分号(;)分割。
特别说明,路径并不总能为资源定位提供足够的信息,因此需要将协议参数在参数部分进行传输说明,比如ftp传输就有主动和被动模式之区分,比如
ftp://prep.ai/mit.edu/pub/gnu;type=d
|
②片段:一小片或一部分资源的名字。引用对象时,不会将frag字段传送给服务器,这个字段实在客户端内部使用的,比如页面的内置 锚元素 位置,可以快速定位到对应的位置。
③常见的Schema
http/https/mailto/rtsp/rtspu/file/news/telnet/ssh
RTSP(Real Time Streaming Protocol),默认使用的是TCP协议,如果是RTSPU则是使用UDP协议。
相对URL和绝对URL
相对URL是不完整的,要从相对URL中获取资源所需要的全部信息,就必须相对另一个,被称为 基础(BASE)的URL进行解析,这个可以在资源中显式的提供标签,也可以相对其他的资源;有个算法可以将相对URL转换成绝对模式:
URL字符集
计算机系统默认倾向于以英语为中心,应用程序通常使用US-ASCII字符集,US-ASCII采用了7位二进制编码,也就是有128个表示。但是URL中可能会包含任意的二进制数据,URL的设计者就将 转义序列 集成了进去。通过转义序列,就可以使用US-ASCII字符集的有限子集对任意字符值或数据进行编码了。
编码机制:包含一个百分号(%),后面跟着两个表示字符ASCII码的十六进制数。URL中需要保留一些字符,比如 % / . .. # ; ? + @ 等等,使用到其他的场合,因此出现的话需要进行编码。
阅读(2851) | 评论(0) | 转发(0) |