URL对于网络相当与邮编对应地址,号码对应手机,它就是因特网资源的标准化名称。URL指向每一条电子信息,告诉你它们位于何处,以及如何与之进行交互。
首先说明上一章提到的URL的第一部分是URL方案(scheme),当时是使用http://举例,但是URL方案并不只局限于http,下图显示常见的几个方案:
URL语法:
大多数URL方案的URL语法都建立在这个由9部分构成的通用格式上:
<scheme>://<user>:<password>@<host>:post/<path>;<params>?<query>#<frag>
下表对这些组建进行了说明:
部分解释:
用户名和密码,这个平时使用不常见,但是在很多服务器都需要输入用户名和密码才会允许用户访问数据。
如:ftp://anonymous:my_passwd@ftp.prep.ai.mit.edu/pug/gnu
其中指定了用户名anonymous,密码my_passwd,其实anonymous大多数代表匿名。
参数:此组建是供部分需要参数的协议的。
如:ftp://prep.ai.mit.edu/pud/gnu;type=d
查询字符串:很多资源,比如数据库服务,都是可以通过提问题或进行查询来缩小所请求资源类型范围的。URL的查询组件和标识无网关资源的URL路径组件一起被发送给网关资源。基本上可以将网关当作访问其他应用程序的访问点。
相对URL介绍:
相对URL是不完整的(如:./index.html),要从相对URL中获取访问资源所需的全部信息,就必须相对于另一个,被称为其基础(base)的URL进行解析。
基础URL:可以来自一下几个不同的地方:
- 在资源中显式提供:有的资源会显式地指定基础URL。比如,HTML中可能会包含一个定义了基础URL的HTML标记<BASE>,通过它来转换那个HTML文档中的所有相对URL。
- 封装资源的基础URL:如果在一个没有显式指定基础URL的资源中发现了一个相对URL,可以将它所属资源的URL作为基础。
- 没有基础URL:在某些情况下,没有基础URL。这通常意味着你有一个相对URLdan有时可能只是一个不完整或损坏了的URL。
解析相对引用:
例子:对于一个./hammers.html
URL编码机制:只要是为了表示各种不安全的字符(如空格),提供一种“转义”的表示方法:
下图简单例子:
URL中的保留字符: