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. weblogic 下载安装部署说明

    http://blog.csdn.net/gaofuqi/article/details/36870887/ http://jingyan.baidu.com/article/d8072ac45f57 ...

  2. LinuxShell脚本攻略--第三章 以文件之名

    生成任意大小的文件文件权限.所有权和粘滞位创建不可修改文件生成空白文件查找符号链接及其指向目标head 与 tail只列出目录的其他方法在命令行中用 pushd 和 popd 快速定位(cd -)统计 ...

  3. 动画Animation

    动画分类:Animation 单一动画 AnimationSet 复合动画 AnimationSet是Animation的实现子类,Animation是一个抽象类,他的实现子类主要有如下几种: 主要有 ...

  4. Vcenter 添加域管理员权限

    授予相应管理权限

  5. a、b交换与比较

    1.有两个变量a,b,不用if.?: .switch 或其他判断语句,找出两个数中 较大的: int max = ((a+b)+abs(a-b))/2 较小的: int min = ((a+b)-ab ...

  6. EXEL表格读取 按键精灵

    EXEL表格读取(1,m)(2,m)表格信息,m为行数 以下为本帖隐藏内容 ============================== Call Plugin.Office.OpenXls(&quo ...

  7. Linux基础: 一切都是文件

    ​ 一切都是文件 创建系统配置交换分区(用作虚拟内存)加上单根树 file 文件名 查看文件类型 uname 查看系统版本 bin binary二进制文件 所有用户可用 系统可执行命令的二进制文件(c ...

  8. Java JDK的安装以及环境变量的配置

    安装并配置完Android SDK之后,本想着可以做个简单的APP应用了,只是依然提示我“请确认Java JDK是否安装”类似的报错,于是又进行了Java JDK的安装以及环境变量的配置. 1.下载地 ...

  9. vue.js——初体验

    看到最近很火的vue.js,于是开启了自己人生中首篇翻译之路,才意识到这个纯英文版的的确没有中文的通俗易懂~~~~~~不过, 还是硬着头皮把这篇英文版的博客给翻译完了,希望可以帮助自己的同时也方便别人 ...

  10. JDE开发端安装问题(JDE初步卸载重装)

    JDE版本:9.1.4 所遇场景:安装JDE客户端.WEBServer后,卸载重新安装.在安装client后提示找不到DV\PY包. 日志installActionsXXX.log中显示 信息: 10 ...