URL(Uniform Resource Locator,统一资源定位符)是地址的别名。它包含关于文件存储位置和浏览器应如何处理它的信息。互联网上的每个文件都有唯一的 URL。

URL 的第一个部分称为模式(scheme)。模式告诉浏览器如何处理需要打开的文件。最 常 见 的 模 式 是 HTTP(Hypertext TransferProtocol,超文本传输协议)。根据你上网的经验,你应该可以猜到,HTTP 是用于访问网页的。HTTPS 是从 HTTP 衍生来的,用于电子商务网站等安全网页。它的格式同 HTTP 一样,只是用 https 替代了 http。

URL的第二个部分是文件所在的主机的名称,紧接着是路径,路径包含到达这个文件的文件夹以及文件自身的名称。如果 A 中的路径是 tofu/soft/index.html,就表示 index.html 位于 soft 目录,而soft 目录则位于 tofu 目录,就像你在自己的电脑上组织文件和文件夹那样。

有时,URL路径不以文件名结尾,而以一个目录结尾(可以包含一个结尾的斜杠,也可以不包含)。在这种情况下,URL值得是路径中最后一个目录中的默认文件,通常为index.html。(通常情况下,所有Web服务器的配置豆浆index.html作为默认文件名,因此你不必修改任何服务器配置。)

其他常见的模式有用于下载文件的ftp(File Transfer Protocol,文件传输协议)。用于发送电子邮件的mailto。

模式后面通常紧跟着一个冒号和两个斜杠。mailto是个例外,它后面只有一个冒号。

  在上述模式中,最常用的是http(也包括https),其次是mailto,再次是ftp。其他模式则只有在特殊情况下才会用到,你很少碰到它们。

1.绝对URL

  URL可以是绝对的,也可以是相对的。绝对URL(absolute URL)包含了指向目录或文件的完整信息,包括模式、主机名和路径。绝对URL就像是完整的通信地址,包括国家、州、城市、邮政编码、街道和姓名。无论邮件来自哪里,邮局都能找到收件人。就URL来说,这意味着绝对URL本身与被引用文件的实际位置无关,无论是在哪个主机上的网页中,某一文件的绝对URL都是完全一样的。

  引用别人Web服务器上的文件时,应该总是使用绝对URL。当你通过电子邮件跟你的朋友分享新闻时,如果只给他们URL的一部分,他们就无法看到相应的内容。

2.相对URL

  相对URL以包含URL本身的文件的位置为参照点,描述目标文件的位置。

◎引用同一目录下的文件

  如果目标文件与当前页面(也就是包含URL的页面)在用一个目录中,你们这个文件的相对URL就只有文件名和扩展名。

◎引用子目录下的文件

  如果目标文件在当前目录的子目录中,你们这个文件的相对URL就是子目录名,接着是一个斜杠,然后是文件名和扩展名。

◎引用上层目录的文件

  如果要引用文件层次结构中更上层目录中的文件,那么应该使用两个句点和一个斜杠。每个 ../ 都表示“到当前文件的上一层”,因此, ../../会向上走两级, ../../../ 会向上走三级。

◎根相对URL

  在最开始使用一个斜杠,这样本例中的根相对URL就是 /img/family/vacation.jpg(假定 img 文件夹位于网站的根文件夹, 这也是惯常的用法)。需要强调的是,这种做法只能用于Web服务器,例如在网站托管服务供应商的Web服务器上,或者在本地计算机运行的Web服务器上。

如果不是在服务器本地开发网站,通常应使用相对URL(当然,除非是指向其他服务器上的文件)。这样确保了将页面从本地系统传到服务器变得容易。只要每个文件的相对位置保持不变,就不必修改任何路径,连接依然有效。

3.绝对URL和相对URL的比较

URL详谈的更多相关文章

  1. JS获取url中query_str JavaScript RegExp 正则表达式基础详谈

    面我们举例一个URL,然后获得它的各个组成部分:http://i.cnblogs.com/EditPosts.aspx?opt=1 1.window.location.href(设置或获取整个 URL ...

  2. JavaScript RegExp 基础详谈

    前言: 正则对于一个码农来说是最基础的了,而且在博客园中,发表关于讲解正则表达式的技术文章,更是数不胜数,各有各的优点,但是就是这种很基础的东西,如果我们不去真正仔细研究.学习.掌握,而是抱着需要的时 ...

  3. JavaScript正则详谈

    JavaScript RegExp 基础详谈   前言: 正则对于一个码农来说是最基础的了,而且在博客园中,发表关于讲解正则表达式的技术文章,更是数不胜数,各有各的优点,但是就是这种很基础的东西,如果 ...

  4. JVM 详谈

    JVM 详谈 本来这次应该讲讲ORM 的几个框架,但是笔者还没有完全总结出来,所以这里先插入一次学习JVM的心得.作为一个Java程序员,如果不了解JVM的工作原理,就很难从底层去把 握Java语言和 ...

  5. JavaScript RegExp 正则表达式基础详谈

    前言: 正则对于一个码农来说是最基础的了,而且在博客园中,发表关于讲解正则表达式的技术文章,更是数不胜数,各有各的优点,但是就是这种很基础的东西,如果我们不去真正仔细研究.学习.掌握,而是抱着需要的时 ...

  6. 基础篇:JAVA资源之IO、字符编码、URL和Spring.Resource

    目录 1 JAVA.IO字节流 2 JAVA.IO字符流 3 乱码问题和字符流 4 字符集和字符编码的概念区分 5 URI概念的简单介绍 6 URL概念及与URL的区别 7 Spring.Resour ...

  7. HTML URL地址解析

    通过JavaScript的location对象,可获取URL中的协议.主机名.端口.锚点.查询参数等信息. 示例 URL:http://www.akmsg.com/WebDemo/URLParsing ...

  8. URL安全的Base64编码

    Base64编码可用于在HTTP环境下传递较长的标识信息.在其他应用程序中,也常常需要把二进制数据编码为适合放在URL(包括隐藏表单域)中的形式.此时,采用Base64编码不仅比较简短,同时也具有不可 ...

  9. Android业务组件化之URL Scheme使用

    前言: 最近公司业务发展迅速,单一的项目工程不再适合公司发展需要,所以开始推进公司APP业务组件化,很荣幸自己能够牵头做这件事,经过研究实现组件化的通信方案通过URL Scheme,所以想着现在还是在 ...

随机推荐

  1. Hbase之遍历获取数据

    import org.apache.hadoop.conf.Configuration;import org.apache.hadoop.hbase.HBaseConfiguration;import ...

  2. 项目框架开发流程(oa项目为例)

    1. 导包 2. 配置web.xml 3. 设计通用dao ,base,service, action, domain  ,utils等 4.配置struts.xml 和 beans.xml 5. 配 ...

  3. unity入门笔记

    我于2010年4月1日硕士毕业加入完美时空, 至今5年整.刚刚从一家公司的微端(就是端游技术+页游思想, 具体点就是c++开发, directX渲染, 资源采取所需才会下载)项目的前端主程职位离职, ...

  4. linux笔记:linux系统安装-系统分区

    分区类型: 1.主分区:最多只能有4个. 2.扩展分区:最多只能有1个:主分区+扩展分区最多有4个:不能写入数据,只能包含逻辑分区. 3.逻辑分区. 格式化: 向磁盘中写入文件系统.会附带地清空磁盘中 ...

  5. linux笔记:搜索命令find,locate,which,whereis,grep

    命令名称:find功能:文件搜索命令所在路径:/bin/find用法:find 搜索范围 匹配条件其他:举例:find /root -name initfind /root -size +1024fi ...

  6. linux笔记:权限管理命令chmod,chown,chgrp,umask

    权限对文件和目录的含义是不同的:对文件来说:读:可以查看文件内容写:可以修改文件内容执行:可以执行文件对目录来说:读:可以列出目录中的内容写:可以在目录中创建.删除文件执行:可以进入目录 能够更改文件 ...

  7. [ssc] 数据库管理工具——SQuirreL SQL Client使用入门

    简单介绍: SQuirrel SQL Client是一个用Java写的数据库客户端,用JDBC统一数据库访问接口以后,可以通过一个统一的用户界面来操作MySQL PostgreSQL MSSQL Or ...

  8. HTTP协议中PUT和POST使用区别 【转载】

    有的观点认为,应该用 POST来创建一个资源,用PUT来更新一个资源:有的观点认为,应该用PUT来创建一个资源,用POST来更新一个资源:还有的观点认为可以用PUT和 POST中任何一个来做创建或者更 ...

  9. ARM字节对齐问题详解

    一.什么是字节对齐,为什么要对齐? 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定类型变量的时候经常在特定的内存地址访问,这 ...

  10. 最小生成树练习1(克鲁斯卡尔算法Kruskal)

    今天刷一下水题练手入门,明天继续. poj1861 Network(最小生成树)新手入门题. 题意:输出连接方案中最长的单根网线长度(必须使这个值是所有方案中最小的),然后输出方案. 题解:本题没有直 ...