URI和URL差别以及相对路径和绝对路径的差别
一、URL和URI定义:
1.URL是全球资源定位符的英文所写,您平时上网时在IE浏览器中输入的那个地址就是URL。比方:网易 http://www.163.com就是一个URL。
2.URI是Web上可用的每种资源 - HTML文档、图像、视频片段、程序,由一个通过通用资源标志符(Universal Resource Identifier, 简称"URI")进行定位。
URL的格式由下列三部分组成:
第一部分是协议(或称为服务方式);
第二部分是存有该资源的主机IP地址(有时也包含port号);
第三部分是主机资源的详细地址。
URI一般由三部分组成:
訪问资源的命名机制。
存放资源的主机名。
资源自身的名称。由路径表示。
二、URL和URI差别:
(a)URI是一个相对来说更广泛的概念。URL是URI的一种,
是URI命名机制的一个子集,能够说URI是抽象的,而详细要使用URL来定位资源。
(b)Web上的每一种资源如:图片、文档、视频等,都是由URI定位的。这里所谓的定位指的是web上的资源相对于主机server来说,存放在server上的详细路径。
(c)URL是internet上用来描写叙述信息资源文件的字符串。用在客户程序和server上,定位客户
端连接server所须要的信息,它不仅定位了这个信息资源,并且定义了怎样找到这个资源。
通俗理解 :
URI就是一种资源定位机制。它是比較笼统地定位了资源,并不局限于client和server,
而URL就定位了网上的一切资源,仅仅要是网上的资源,都有唯一的URL.
三、相对路径和绝对路径的差别:
1.绝对路径
绝对路径是指文件在硬盘上真正存在的路径。比如“bg.jpg”这个图片是存放在硬盘的“E:\book\网页布局代码\第2章”文件夹下。那么 “bg.jpg”这个图片的绝对路径就是“E:\book\网页布\代码\第2章\bg.jpg"。
那么假设要使用绝对路径指定网页的背景图片就应该使用 下面语句:
<body backround="E:\book\网页布局\代码\第2章\bg.jpg" >
2.使用绝对路径的缺点
其实,在网页编程时,非常少会使用绝对路径,假设使用“E:\book\网页布\代码\第2章\bg.jpg”来指定背景图片的位置,在自己的计算机上 浏览可能会一切正常,可是上传到Webserver上浏览就非常有可能不会显示图片了。由于上传到Webserver上时。可能整个站点并没有放在Webserver的E盘, 有可能是D盘或H盘。即使放在Webserver的E盘里。Webserver的E盘里也不一定会存在“E:\book\网页布局\代码\第2章”这个文件夹,因此在浏 览网页时是不会显示图片的。
3.相对路径
为了避免这样的隋况发生。通常在网页里指定文件时,都会选择使用相对路径。所谓相对路径,就是相对于自己的目标文件位置。比如上面的样例,“s1.htm” 文件中引用了“bg.jpg”图片。因为“bg.jpg”图片相对于“s1.htm”来说。是在同一个文件夹的,那么要在“s1.htm”文件中使用下面代 码后。仅仅要这两个文件的相对位置没有变(也就是说还是在同一个文件夹内)。那么不管上传到Webserver的哪个位置,在浏览器里都能正确地显示图片。
<body background="bg.jpg">
再 举一个样例。如果“s1.htm”文件所在文件夹为“E:\book\网页布局\代码\第2章”,而“bg.jpg”图片所在文件夹为“E:\book\网页 布局\代码\第2章\img”,那么“bg.jpg”图片相对于“s1.htm”文件来说。是在其所在文件夹的“img”子文件夹里,则引用图片的语句应该 为:
<body background="img/bg.jpg">
注意:相对路径使用“/”字符作为文件夹的分隔字符,而绝对路径能够使用“\”或“/”字符作为文件夹的分隔字符。因为“img”文件夹是“第2章”文件夹下的子文件夹,因此在“img”前不用再加上“/”字符。
在 相对路径里常使用“../”来表示上一级文件夹。如果有多个上一级文件夹。能够使用多个“../”,比如“http://www.cnblogs.com/”代表上上级文件夹。
如果 “s1.htm”文件所在文件夹为“E:\book\网页布局\代码\第2章”,而“bg.jpg”图片所在文件夹为“E:\book\网页布局\代码”。那 么“bg.jpg”图片相对于“s1.htm”文件来说,是在其所在文件夹的上级文件夹里。则引用图片的语句应该为:
<body background="../bg.jpg">
再举一个样例,如果“s1.htm”文件所在文件夹为“E:\book\网页布局\代码\第2章”,而“bg.jpg”图片所在文件夹为“E:\book\网 页布局\代码\img”。那么“bg.jpg”图片相对于“s1.htm”文件来说,是在其所在文件夹的上级文件夹里的“img”子文件夹里,则引用图片的语句 应该为:
<body background="../img/bg.jpg">
URI和URL差别以及相对路径和绝对路径的差别的更多相关文章
- Java魔法堂:URI、URL(含URL Protocol Handler)和URN
一.前言 过去一直搞不清什么是URI什么是URL,现在是时候好好弄清楚它们了!本文作为学习笔记,以便日后查询,若有纰漏请大家指正! 二.从URI说起 1. 概念 URI(Uniform Reso ...
- C# .Net实现URL绝对路径和相对路径之间互相转换
网站制作开发中,URL的绝对路径和相对路径之间互相转换,是经常需要用到的.以下是在C#.Net下一种实现二者互相转化的方法: [DllImport("shlwapi.dll", C ...
- URI与URL区别
URL 与 URI 很多人会混淆这两个名词. URL:(Uniform/Universal Resource Locator 的缩写,统一资源定位符). URI:(Uniform Resource I ...
- URI、URL和URN
URI.URL和URN URI :Uniform Resource Identifier,通用资源标识符: URL:Uniform Resource Locator,统一资源定位符: URN:Unif ...
- URI与URL的区别
(原网址:http://zhidao.baidu.com/question/38764759.html) Web上可用的每种资源 - HTML文档.图像.视频片段.程序等 - 由一个通过通用资源标志符 ...
- HTTP笔记:URI与URL
URI与URL 简单理解是这样的:理解URI和URL的区别,我们引入URN这个概念.URI = Universal Resource Identifier 统一资源标志符URL = Universal ...
- jsp中如何获得url路径和绝对路径
jsp中如何获得url路径 request.getHeader("referer") JSP中获得当前应用的相对路径和绝对路径 根目录所对应的绝对路径:request.getReq ...
- Http,Https (SSL)的Url绝对路径,相对路径解决方案Security Switch 4.2 中文帮助文档 分类: ASP.NET 2014-10-28 14:09 177人阅读 评论(1) 收藏
下载地址1:https://securityswitch.googlecode.com/files/SecuritySwitch%20v4.2.0.0%20-%20Binary.zip 下载地址2:h ...
- URI和URL
URI(uniform resource identifier),统一资源标识符,用来唯一的标识一个资源. URL(uniform resource locator),统一资源定位器,它是一种具体的U ...
随机推荐
- Android中常用的URI
使用URI需要注意:当应用需要和手机里的文件或者程序互动时需要为该应用增加权限.在AndroidManifiest.xml文件中的根元素中增加如下配置 例如: 1.当应用需要读取.添加联系人时: 授予 ...
- JavaScript系列----函数(Function)篇(4)
1.什么是函数? 在W3C中函数的定义是这么说的:函数是由事件驱动的或者当它被调用时执行的可重复使用的代码块. 诚然,从这种抽象的定义中我们得不到什么有价值的东西.下面,举例来列举出函数的几种定义 ...
- C++雾中风景1:友元类与面向对象
因为后续准备入职的公司都希望能转C++,所以最近也是按部就班的开始进行C++的学习.然后这个系列的文章打算探究C++的语言特性,也比较一下不同语言(如Java,Scala,Python,Go)之间的设 ...
- OpenTSDB-Writing Data
Writing Data You may want to jump right in and start throwing data into your TSD, but to really take ...
- TQ2440在Ubuntu16.04上如何搭建DNW烧写环境
八月份国赛比完,原计划开始的嵌入式Linux学习一直拖到了现在:由于之前所有的开发全在Windows下进行的,对各种底层完全不清楚,刚好这段时间开始学习Linux,我就在想能不能把开发环境给迁移到Li ...
- Python学习笔记 变量
蒟蒻高举横幅:部分内容转自廖雪峰的Python教学 1.Python是动态语言,即它的变量是没有类型的. !/usr/bin/env python a = 'ABC' print a a = 123 ...
- C++ UTF8和GB2312相互转换
#include <Windows.h> #include <string> using std::string; void UTF8_to_GB2312(const char ...
- 从ThoughtWorks 2017技术雷达看微软技术
ThoughtWorks在每年都会出品两期技术雷达,这是一份关于技术趋势的报告,它比起一些我们能在市面上见到的其他各种技术行情和预测报告,更加具体,更具可操作性,因为它不仅涉及到新技术大趋势,比如云平 ...
- mysql插入测试数据
使用php生成sql文件,然后再倒入mysql. 1.编写php代码 <?php set_time_limit(0); ini_set("memory_limit", &qu ...
- 内网神器-Bettercap
安装bettercap 1 2 root@sch01ar:~# apt-get update root@sch01ar:~# apt-get install bettercap 安装完成后查看一下帮 ...