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 相关文章推荐
Mootools 1.2教程 滑动效果(Slide)
Sep 15 Javascript
Js 正则表达式知识汇总
Dec 02 Javascript
AngularJS 实现按需异步加载实例代码
Oct 18 Javascript
Linux下为Node.js程序配置MySQL或Oracle数据库的方法
Mar 19 Javascript
纯js和css完成贪吃蛇小游戏demo
Sep 01 Javascript
Windows环境下npm install 报错: operation not permitted, rename的解决方法
Sep 26 Javascript
JQuery中解决重复动画的方法
Oct 17 Javascript
Vue项目组件化工程开发实践方案
Jan 09 Javascript
Webpack的dll功能使用
Jun 28 Javascript
VeeValidate 的使用场景以及配置详解
Jan 11 Javascript
深入了解js原型模式
May 30 Javascript
vue项目中在可编辑div光标位置插入内容的实现代码
Jan 07 Javascript
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实现从ftp服务器上下载文件树到本地电脑的程序
2009/02/10 PHP
关于PHP二进制流 逐bit的低位在前算法(详解)
2013/06/13 PHP
Zend Framework入门教程之Zend_Config组件用法详解
2016/12/09 PHP
javascript Select标记中options操作方法集合
2008/10/22 Javascript
JavaScript 在各个浏览器中执行的耐性
2009/04/06 Javascript
JS获取父节点方法
2009/08/20 Javascript
JS将所有对象s的属性复制给对象r(原生js+jquery)
2014/01/25 Javascript
js jquery ajax的几种用法总结(及优缺点介绍)
2014/01/28 Javascript
jquery 实现input输入什么div图层显示什么
2014/06/15 Javascript
jQuery动态修改字体大小的方法【测试可用】
2016/09/09 Javascript
JS双击变input框批量修改内容
2016/12/12 Javascript
Vue.js 中的 v-model 指令及绑定表单元素的方法
2018/12/03 Javascript
基于Vue插入视频的2种方法小结
2019/04/02 Javascript
详解VUE项目中安装和使用vant组件
2019/04/28 Javascript
vue element-ui之怎么封装一个自己的组件的详解
2019/05/20 Javascript
JavaScript 函数用法详解【函数定义、参数、绑定、作用域、闭包等】
2020/05/12 Javascript
JavaScript动态生成表格的示例
2020/11/02 Javascript
Python调用系统底层API播放wav文件的方法
2017/08/11 Python
python将秒数转化为时间格式的实例
2018/09/16 Python
解决Mac下使用python的坑
2019/08/13 Python
Python各种扩展名区别点整理
2020/02/27 Python
Python xlrd excel文件操作代码实例
2020/03/10 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
2020/11/13 Python
Python入门基础之数字字符串与列表
2021/02/01 Python
YSL圣罗兰美妆美国官网:Yves Saint Lauret US
2016/11/21 全球购物
MCAKE蛋糕官方网站:一直都是巴黎的味道
2018/02/06 全球购物
德国旅行、体验和活动的预订平台:Watado
2019/12/04 全球购物
C/C++ 笔试、面试题目大汇总
2015/11/21 面试题
酒店应聘自荐信
2013/11/09 职场文书
超市后勤自我鉴定
2014/01/17 职场文书
户外活动策划方案
2014/03/12 职场文书
质量承诺书格式
2014/05/20 职场文书
党员民主生活会个人整改措施材料
2014/09/16 职场文书
雷锋的故事观后感
2015/06/10 职场文书
新闻稿件写作范文
2015/07/18 职场文书
2019新员工试用期转正工作总结范文
2019/08/21 职场文书