统一资源定位符(或称统一资源定位器/定位地址、URL地址等,英语:Uniform Resource Locator,常缩写为URL),有时也被俗称为 网页地址(网址)。如同在网络上的门牌,是因特网上标准的资源的地址(Address)。
协议类型:[//服务器地址[:端口号]][/资源层级UNIX文件路径]文件名?查询
协议类型:[//[访问资源须要的凭证信息@]服务器地址[:端口号]][/资源层级UNIX文件路径]文件名?查询
其中【访问凭证信息@;:端口号;?查询;#片断ID】都属于选填项。css
好比网址 http://segmentfault.com/html/...,必须遵照如下的语法规则:html
scheme://host.domain:port/path/filename
(1)scheme - 定义因特网服务的类型。最多见的类型是 http
(2)host - 定义域主机(http 的默认主机是 www)
(3)domain - 定义因特网域名,好比 w3school.com.cn
(4):port - 定义主机上的端口号(http 的默认端口号是 80)
(5)path - 定义服务器上的路径(若是省略,则文档必须位于网站的根目录中)。
(6)filename - 定义文档/资源的名称web
如下是其中一些最流行的 scheme:segmentfault
Scheme | 访问 | 用于... |
---|---|---|
http | 超文本传输协议 | 以 http:// 开头的普通网页。不加密。 |
https | 安全超文本传输协议 | 安全网页。加密全部信息交换。 |
ftp | 文件传输协议 | 用于将文件下载或上传至网站。 |
file | 您计算机上的文件。 |
绝对URL(absolute URL)显示文件的完整路径,这意味着绝对URL自己所在的位置与被引用的实际文件的位置 无关。
相对URL(relative URL)以包含URL自己的文件夹的位置为 参考点,描述目标文件夹的位置。
通常来讲,对于同一服务器上的文件,应该老是使用相对URL,它们更容易输入,并且在将页面从本地系统转移到服务器上时更方便,只要每一个文件的相对位置保持不变,连接就仍然是有效地。浏览器
如下为创建路径所使用的几个特殊符号,及其所表明的意义。安全
(1).
:表明目前所在的目录,相对路径。 例如 <a href="./abc">文本</a>
或 <img src="./abc" />
(2)..
:表明上一层目录,相对路径。 例如 <a href="../abc">文本</a>
或 <img src="../abc" />
(3)../../
:表明的是上一层目录的上一层目录,相对路径。 例如 <img src="../../abc" />
(4)/
:表明根目录,绝对路径。 例如 <a href="/abc">文本</a>
或 <img src="/abc" />服务器
href (Hypertext Reference)指定网络资源的位置,从而在当前元素或者当前文档和由当前属性定义的须要的锚点或资源之间定义一个连接或者关系。
href 目的不是为了引用资源,而是为了创建联系,让当前标签可以连接到目标地址。网络
source(缩写),指向外部资源的位置,指向的内容将会应用到文档中当前标签所在位置。框架
(1)href 指向网络资源所在位置,创建和当前元素(锚点)或当前文档(连接)之间的联系。dom
(2)在请求 src 资源时会将其指向的资源下载并应用到文档中,好比 JavaScript 脚本,img 图片;
(1)href 用于在当前文档和引用资源之间确立联系;
(2)src 用于替换当前内容;
(1)若在文档中添加 <link href="style.css" rel="stylesheet"/>,浏览器会识别该文档为 CSS 文件,就会并行下载资源而且不会中止对当前文档的处理。这也是为何建议使用 link 方式加载 CSS,而不是使用 @import 方式。
(2)当浏览器解析到 <script src="script.js"></script>,会暂停其余资源的下载和处理,直到将该资源加载、编译、执行完毕,图片和框架等也如此,相似于将所指向资源应用到当前内容。这也是为何建议把 js 脚本放在底部而不是头部的缘由。
二者都是外部引用 CSS 的方式,可是存在必定的区别:
(1)link是XHTML标签,除了可以加载CSS,还能够定义RSS等其余事务;而@import属于CSS范畴,只能够加载CSS。
(2)link引用CSS时,在页面载入时同时加载;@import须要页面彻底载入之后再加载。
(3)link是XHTML标签,无兼容问题;@import则是在CSS2.1提出的,低版本的浏览器不支持。
(4)link支持使用Javascript控制DOM改变样式;而@import不支持。