首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 开源 FAQ 第二书店 博文视点 程序员
频道: 研发 数据库 中间件 信息化 视频 .NET Java 游戏 移动 服务: 人才 外包 培训
    图书品种:235680
       
热门搜索: ASP.NET Ajax Spring Hibernate Java

1.5  URL

统一资源定位符(uniform Resource Locator,缩写为URL)是地址的别名。它包含的信息指出文件的位置以及浏览器应该对它做什么。因特网上的每个文件都有一个惟一的URL。

URL的第一部分称为模式(scheme)。它告诉浏览器如何处理将要打开的文件。最常见的模式是HTTP,即超文本传输协议(Hypertext Transfer Protocol)。这个协议用来访问网页(图1-16)。

图1-16  基本URL包含模式、服务器名称、路径和文件名

图字:模式  服务器名称  路径  文件名

URL的第二部分是文件所在的服务器的名称,后面是到达这个文件的路径和文件本身的名称。有时候,URL以斜杠结尾,而没有给出文件名(图1-17)。在这种情况下,URL引用路径中最后一个目录中的默认文件(通常对应于主页),这个文件常常称为index.html或default.htm。

图1-17  以斜杠结尾而没有文件名的URL指向最后一个目录(在这个例子中是liz目录)中的默认文件。常见的默认文件名是index.html或default.htm

其他常见的模式有HTTPS(用于安全网页)、FTP(文件传输协议,用于下载文件,见图1-18)、Mailto(用于发送电子邮件,见图1-19)和File(用于访问本地硬盘或本地文件共享网络上的文件,见图1-20)。

图1-18  当用户点击这个URL时,浏览器将开始按FTP方式传输文件prog.exe

图字:模式  服务器名称  路径  文件名

图1-19  电子邮件地址的URL包括模式mailto,后面是一个冒号(没有斜杠),然后是电子邮件地址本身

图字:模式  电子邮件地址

图1-20  使用File模式引用本地Windows机器上的文件。对于Macintosh,使用file:///硬盘/路径/文件名。竖线不是必需的(Windows有时候也不需要竖线)

图字:模式  盘符  竖线  路径和文件名

1.5.1 绝对URL

URL可以是绝对的,也可以是相对的(图1-21)。绝对URL(alsolute URL)显示文件的完整路径,包括模式、服务器名称、完整路径和文件名本身。它就像是完整的通信地址,包括姓名门牌号、街道名称、城市、州、邮政编码和国家。无论信件来自哪里,邮局都能够按照地址找到收件人。对于URL,这意味着绝对URL本身所在的位置与被引用的实际文件的位置无关。无论绝对URL是在你的服务器还是我的服务器上的网页中,它看起来是完全一样的。

图1-21  包含URL的文档(在这个例子中是youarehere.html)是相对URL的参照点。换句话说,相对URL是相对于这个文件在服务器上的位置,而绝对URL的位置就没有这种作用

图字:服务器  文件夹/目录

在引用别人的服务器上的文件时,总是应该使用绝对URL。对于FTP站点或任何不使用HTTP协议的URL,也需要使用绝对URL。

绝对URL与相对URL

文件名

绝对URL(可以在任何地方使用)

相对URL(只能用在youarehere.html中)

index.html

www.site.com/web/index.html

index.html

image.gif

www.site.com/web/images/image.gif

images/image.gif

data.html

www.site.com/info/data.html

../info/data.html

homepg.html

www.remote.com/pub/homepg.html

(没有:使用绝对URL)

info.html

www.remote.com/bcn/info.html

(没有:使用绝对URL)

1.5.2  相对URL

如果我想告诉你我邻居家的位置,那我不会说出他家的完整地址,而是说“右边第三个门”。这就是个相对(relative)地址,它指出的位置是以信息提供者的位置为参照的。如果在别的城市中按照“右边第三个门”寻找的话,你不可能找到我的邻居。

同样,相对URL以包含URL本身的文件的位置为参照点,描述目标文件的位置。所以,相对URL可以表达“显示本页面同一所在的目录下的xyz图像”这样的意思。

如果目标文件与当前页面(也就是包含URL的页面)在同一个目录中,那么这个文件的相对URL仅仅是文件名和扩展名(图1-22)。如果目标文件在当前目录的子目录中,那么它的相对URL是子目录名,后面是一条斜杠,然后是目标文件的文件名和扩展名(图1-23)。

图1-22  如果目标文件与包含链接的文件在同一个目录中(见图1-21),那么这个文件的相对URL仅仅是文件名和扩展名

图字:在当前文件夹中,有一个称为index.html的文件……

图1-23  对于当前文件夹的子文件夹中的文件(见图1-21),应该在文件名前面添加文件夹名称和斜杠

图字:在当前文件夹中,有一个称为images的文件夹……

……包含    ……一个称为image.gif的文件

如果要引用文件层次结构中更高层目录中的文件,那么使用两个句点和一条斜杠(图1-24)。可以组合和重复使用两个点号和一个斜线,从而引用当前文件所在的硬盘上的任何文件。

图1-24  在图1-21中可以看到,这个文件位于包含当前文件夹的文件夹的子文件夹中(真够拗口的!)。在这种情况下,使用两个句点和一条斜杠上升一级,然后指出子目录,再加上斜杠,最后是文件名

图字:包含当前文件夹的文件夹……

……包含……      ……一个称为“info”的文件夹……

……包含……      ……一个称为data.html的文件

一般来说,对于同一服务器上的文件,应该总是使用相对URL。它们更容易输入,而且在将页面从本地系统转移到服务器上时更方便。只要每个文件的相对位置保持不变,链接就仍然是有效的。

相对URL的一个额外好处是,只要模式是HTTP,就不必输入它。

查看所有评论(0)条】

最近评论



正在载入评论列表...
热点评论