收集前端面试题之url、href、src


Posted in Javascript onMarch 22, 2018

一、URL的概念

统一资源定位符(或称统一资源定位器/定位地址、URL地址等,英语:Uniform Resource Locator,常缩写为URL),有时也被俗称为网页地址(网址)。如同在网络上的门牌,是因特网上标准的资源的地址(Address)。

二、URL的格式

2.1 标准格式

协议类型:[//服务器地址[:端口号]][/资源层级UNIX文件路径]文件名?查询

2.2 完整格式

协议类型:[//[访问资源需要的凭证信息@]服务器地址[:端口号]][/资源层级UNIX文件路径]文件名?查询
其中【访问凭证信息@;:端口号;?查询;#片段ID】都属于选填项。

三、URL的语法规则

比如网址 http://segmentfault.com/html/index.asp,必须遵守以下的语法规则:

scheme: //host.domain:port/path/filename

3.1 说明

(1)scheme - 定义因特网服务的类型。最常见的类型是 http

(2)host - 定义域主机(http 的默认主机是 www)

(3)domain - 定义因特网域名,比如 w3school.com.cn

(4):port - 定义主机上的端口号(http 的默认端口号是 80)

(5)path - 定义服务器上的路径(如果省略,则文档必须位于网站的根目录中)。

(6)filename - 定义文档/资源的名称

3.2 URL Schemes

以下是其中一些最流行的 scheme:

Scheme 访问 用于...
http 超文本传输协议 以 http:// 开头的普通网页。不加密。
https 安全超文本传输协议 安全网页。加密所有信息交换。
ftp 文件传输协议 用于将文件下载或上传至网站。
file 您计算机上的文件。

四、URL的类型

4.1 绝对URL

绝对URL(absolute URL)显示文件的完整路径,这意味着绝对URL本身所在的位置与被引用的实际文件的位置无关。

4.2 相对URL

相对URL(relative URL)以包含URL本身的文件夹的位置为参考点,描述目标文件夹的位置。

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

以下为建立路径所使用的几个特殊符号,及其所代表的意义。

(1) .:代表目前所在的目录,相对路径。 如: <a>文本 </a> 或 <img src="./abc" />

(2) ..:代表上一层目录,相对路径。 如: <a>文本 </a> 或 <img src="../abc" />

(3) ../../:代表的是上一层目录的上一层目录,相对路径。 如: <img src="../../abc" />

(4) /:代表根目录,绝对路径。 如:[文本] (/abc) 或 <img src="/abc" />

五、href的概念

5.1 规范解释

href (Hypertext Reference)指定网络资源的位置,从而在当前元素或者当前文档和由当前属性定义的需要的锚点或资源之间定义一个链接或者关系。

5.2 通俗理解

href 目的不是为了引用资源,而是为了建立联系,让当前标签能够链接到目标地址。

六、src的概念

source(缩写),指向外部资源的位置,指向的内容将会应用到文档中当前标签所在位置。

七、href和src的区别

7.1 请求资源类型不同

(1)href 指向网络资源所在位置,建立和当前元素(锚点)或当前文档(链接)之间的联系。

(2)在请求 src 资源时会将其指向的资源下载并应用到文档中,比如 JavaScript 脚本,img 图片;

7.2 作用结果不同

(1)href 用于在当前文档和引用资源之间确立联系;

(2)src 用于替换当前内容;

7.3 浏览器解析方式不同

(1)若在文档中添加 ,浏览器会识别该文档为 CSS 文件,就会并行下载资源并且不会停止对当前文档的处理。这也是为什么建议使用 link 方式加载 CSS,而不是使用 @import 方式。

(2)当浏览器解析到 ,会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕,图片和框架等也如此,类似于将所指向资源应用到当前内容。这也是为什么建议把 js 脚本放在底部而不是头部的原因。

八、link和@import的区别

两者都是外部引用 CSS 的方式,但是存在一定的区别:

(1)link是XHTML标签,除了能够加载CSS,还可以定义RSS等其他事务;而@import属于CSS范畴,只可以加载CSS。

(2)link引用CSS时,在页面载入时同时加载;@import需要页面完全载入以后再加载。

(3)link是XHTML标签,无兼容问题;@import则是在CSS2.1提出的,低版本的浏览器不支持。

(4)link支持使用Javascript控制DOM改变样式;而@import不支持。

总结

以上所述是小编给大家介绍的前端面试题之url、href、src,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
用js实现上传图片前的预览(TX的面试题)
Aug 14 Javascript
jquery CSS选择器笔记
Mar 29 Javascript
基于jquery实现控制经纬度显示地图与卫星
May 20 Javascript
Jquery选择子控件&quot;大于号&quot;和&quot; &quot;区别介绍及使用示例
Jun 25 Javascript
jquery实现的美女拼图游戏实例
May 04 Javascript
Angular 应用技巧总结
Sep 14 Javascript
Javascript中document.referrer隐藏来源的方法
Jan 16 Javascript
移动端刮刮乐的实现方式(js+HTML5)
Mar 23 Javascript
深入理解Vue官方文档梳理之全局API
Nov 22 Javascript
微信小程序使用slider设置数据值及switch开关组件功能【附源码下载】
Dec 09 Javascript
angularjs实现table表格td单元格单击变输入框/可编辑状态示例
Feb 21 Javascript
js实现有趣的倒计时效果
Jan 19 Javascript
vue 的keep-alive缓存功能的实现
Mar 22 #Javascript
bootstrap中selectpicker下拉框使用方法实例
Mar 22 #Javascript
使用Vue开发动态刷新Echarts组件的教程详解
Mar 22 #Javascript
JavaScript分步实现一个出生日期的正则表达式
Mar 22 #Javascript
vuex 的简单使用
Mar 22 #Javascript
Vue.js中的computed工作原理
Mar 22 #Javascript
解决在Bootstrap模糊框中使用WebUploader的问题
Mar 22 #Javascript
You might like
php连接与操作PostgreSQL数据库的方法
2014/12/25 PHP
[原创]php集成安装包wampserver修改密码后phpmyadmin无法登陆的解决方法
2016/11/23 PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
2017/08/03 PHP
laravel5实现微信第三方登录功能
2018/12/06 PHP
用javascript编写的第一人称射击游戏
2007/02/25 Javascript
JS查看对象功能代码
2008/04/25 Javascript
ExtJS 2.0实用简明教程 之获得ExtJS
2009/04/29 Javascript
javascript中利用数组实现的循环队列代码
2010/01/24 Javascript
javascript设计模式之工厂模式示例讲解
2014/03/04 Javascript
JQuery实现防止退格键返回的方法
2015/02/12 Javascript
JavaScript使用function定义对象并调用的方法
2015/03/23 Javascript
javascript实现动态统计图开发实例
2015/11/21 Javascript
JQuery.validationEngine表单验证插件(推荐)
2016/12/10 Javascript
javascript表单正则应用
2017/02/04 Javascript
详解JS异步加载的三种方式
2017/03/07 Javascript
vuejs使用FormData实现ajax上传图片文件
2017/08/08 Javascript
vue项目部署上线遇到的问题及解决方法
2018/06/10 Javascript
用vuex写了一个购物车H5页面的示例代码
2018/12/04 Javascript
javascript json字符串到json对象转义问题
2019/01/22 Javascript
微信小程序学习笔记之文件上传、下载操作图文详解
2019/03/29 Javascript
解决layui批量传值到后台操作时出现传值为空的问题
2019/09/28 Javascript
Python打印斐波拉契数列实例
2015/07/07 Python
Python实现使用request模块下载图片demo示例
2019/05/24 Python
Django admin.py 在修改/添加表单界面显示额外字段的方法
2019/08/22 Python
详解Ubuntu环境下部署Django+uwsgi+nginx总结
2020/04/02 Python
python保留格式汇总各部门excel内容的实现思路
2020/06/01 Python
python中random.randint和random.randrange的区别详解
2020/09/20 Python
python实现图片,视频人脸识别(dlib版)
2020/11/18 Python
俄罗斯玩具、儿童用品、儿童服装和鞋子网上商店:MyToys.ru
2019/10/14 全球购物
Tessabit日本:集世界奢侈品和设计师品牌的意大利精品买手店
2020/01/07 全球购物
SQL里面如何插入自动增长序列号字段
2012/03/29 面试题
js正则匹配markdown里的图片标签的实现
2021/03/24 Javascript
优秀团队获奖感言
2014/02/19 职场文书
安全生产大检查方案
2014/05/07 职场文书
《成长的天空》读后感3篇
2019/12/06 职场文书
世界十大儿童漫画书排名,法国国宝漫画排第五,第二是轰动日本连环
2022/03/18 欧美动漫