Javascript URI 解析介绍


Posted in Javascript onMarch 15, 2015

解析URI是一个有意思的东西,之前没有意识到,原来这东西也可以这么复杂。

URI

在维基百科中对于URI的解释是这样子的:

 在计算机术语中,统一资源标识符(Uniform Resource Identifier,或URI)是一个用于标识某一互联网资源名称的字符串。 该种标识允许用户对网络中(一般指万维网)的资源通过特定的协议进行交互操作。URI由包括确定语法和相关协议的方案所定义。

引自网络上对于URI组成的解释,而这些可以在稍后对于URI的解析中看出来。

URI一般由三部分组成:

1.访问资源的命名机制。
2.存放资源的主机名。
3.资源自身的名称,由路径表示。

或者可以说是这样子,两者看上去是一致的。

URL的格式由下列三部分组成:

1.协议(或称为服务方式)
2.存有该资源的主机IP地址(有时也包括端口号)
3.主机资源的具体地址。,如目录和文件名等

URI解析

 “解析”一个URI意味着将一个相对URI引用转换为绝对形式,或者通过尝试获取一个可解引URI或一个URI引用所代表的资源来解引用这个URI。文档处理软件的“解析”部分通常同时提供这两种功能。

Javascript URI解析

简单地以博客中的搜索JS为例,下面就是其的URL,

https://3water.com/search/?q=js&type=
然后便有了

 var parser = document.createElement('a');

 parser.href = "https://3water.com/search/?q=js&type="

我们便可以知道其的协议、端口号、主机、具体地址等
 parser.protocol; 

 parser.host;

 parser.pathname;

 parser.search;

返回的结果便是
 protocol:http

 host:3water.com

 pathname:/search/

 search:?q=js&type=

上面的结果加出来,便是一个完整的URI。只是对于parser.search这部分不是很理解,对于?号而言,应该是参数,用于搜索的参数。

如果是对就于一个邮件的URI来说,假设URI是

 mailto:h@3water.com?subject=hello

 

那么
 var parser = document.createElement('a');

 parser.href = "mailto:h@3water.com?subject=hello";
 > parser.protocol

 "mailto:"

 > parser.pathname

 "h@3water.com"

 > parser.search

 "?subject=hello"

 
Javascript 相关文章推荐
javascript 鼠标悬浮图片显示原图 移出鼠标后原图消失(多图)
Dec 28 Javascript
jQuery 获取对象 基本选择与层级
May 31 Javascript
jquery 获取自定义属性(attr和prop)的实现代码
Jun 27 Javascript
js 事件截取enter按键页面提交事件示例代码
Mar 04 Javascript
Node.js 异步编程之 Callback介绍(一)
Mar 30 Javascript
jQuery技巧之让任何组件都支持类似DOM的事件管理
Apr 05 Javascript
AngularJs 国际化(I18n/L10n)详解
Sep 01 Javascript
AngularJS使用ocLazyLoad实现js延迟加载
Jul 05 Javascript
详解组件库的webpack构建速度优化
Jun 18 Javascript
解决vue加scoped后就无法修改vant的UI组件的样式问题
Sep 07 Javascript
微信小程序实现转盘抽奖
Sep 21 Javascript
vue项目中openlayers绘制行政区划
Dec 24 Vue.js
PHP+jQuery+Ajax实现多图片上传效果
Mar 14 #Javascript
jQuery oLoader实现的加载图片和页面效果
Mar 14 #Javascript
jQuery实现购物车数字加减效果
Mar 14 #Javascript
jQuery+PHP实现动态数字展示特效
Mar 14 #Javascript
jQuery+slidereveal实现的面板滑动侧边展出效果
Mar 14 #Javascript
jQuery+jRange实现滑动选取数值范围特效
Mar 14 #Javascript
jQuery实现加入购物车飞入动画效果
Mar 14 #Javascript
You might like
php中explode函数用法分析
2014/11/15 PHP
PHP实现登录注册之BootStrap表单功能
2017/09/03 PHP
详细对比php中类继承和接口继承
2018/10/11 PHP
基于jQuery架构javascript基础体系
2011/01/01 Javascript
div当滚动到页面顶部的时候固定在顶部实例代码
2013/05/27 Javascript
javascript生成大小写字母
2015/07/03 Javascript
bootstrap日历插件datetimepicker使用方法
2016/12/14 Javascript
微信小程序 css使用技巧总结
2017/01/09 Javascript
JS点击图片弹出文件选择框并覆盖原图功能的实现代码
2017/08/25 Javascript
微信小程序中使用ECharts 异步加载数据实现图表功能
2018/07/13 Javascript
vue-cli中vue本地实现跨域调试接口
2019/01/16 Javascript
详释JavaScript执行环境与执行栈
2019/04/02 Javascript
jquery多级树形下拉菜单的实例代码
2019/07/09 jQuery
微信小程序的引导页实现代码
2020/06/24 Javascript
从0到1学习JavaScript编写贪吃蛇游戏
2020/07/28 Javascript
vue使用video插件vue-video-player详解
2020/10/23 Javascript
跟老齐学Python之关于类的初步认识
2014/10/11 Python
在Python中封装GObject模块进行图形化程序编程的教程
2015/04/14 Python
Python urllib、urllib2、httplib抓取网页代码实例
2015/05/09 Python
python 读写txt文件 json文件的实现方法
2016/10/22 Python
tensorflow 用矩阵运算替换for循环 用tf.tile而不写for的方法
2018/07/27 Python
分享Python切分字符串的一个不错方法
2018/12/14 Python
python 计算数据偏差和峰度的方法
2019/06/29 Python
python GUI库图形界面开发之PyQt5信号与槽基本操作
2020/02/25 Python
OpenCV读取与写入图片的实现
2020/10/13 Python
JINS眼镜官方网站:日本最大的眼镜邮购
2016/10/14 全球购物
FORZIERI澳大利亚站:全球顶级奢华配饰精品店
2016/12/31 全球购物
意大利自行车商店:Cingolani Bike Shop
2019/09/03 全球购物
幼儿园小班教师寄语
2014/04/03 职场文书
新年爱情寄语
2014/04/08 职场文书
甜品店创业计划书
2014/08/14 职场文书
2014年爱国卫生工作总结
2014/11/22 职场文书
平安建设汇报材料
2014/12/29 职场文书
四风之害观后感
2015/06/09 职场文书
工作态度怎么写
2015/06/25 职场文书
position:sticky 粘性定位的几种巧妙应用详解
2021/04/24 HTML / CSS