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 相关文章推荐
ajax无刷新动态调用股票信息(改良版)
Nov 01 Javascript
手机端转盘抽奖代码分享
Sep 10 Javascript
详解JavaScript中双等号引起的隐性类型转换
May 30 Javascript
jQuery简单设置文本框回车事件的方法
Aug 01 Javascript
Js遍历键值对形式对象或Map形式的方法
Aug 08 Javascript
jQuery阻止移动端遮罩层后页面滚动
Mar 15 Javascript
JS匹配日期和时间的正则表达式示例
May 12 Javascript
axios发送post请求,提交图片类型表单数据方法
Mar 16 Javascript
Webpack4 使用Babel处理ES6语法的方法示例
Mar 07 Javascript
解决vuex数据异步造成初始化的时候没值报错问题
Nov 13 Javascript
Node.js API详解之 Error模块用法实例分析
May 14 Javascript
基于JavaScript实现简单扫雷游戏
Jan 02 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
资料注册后发信小技巧
2006/10/09 PHP
使用PHP生成二维码的两种方法(带logo图像)
2014/03/14 PHP
ThinkPHP的cookie和session冲突造成Cookie不能使用的解决方法
2014/07/01 PHP
thinkphp3.x中display方法及show方法的用法实例
2016/05/19 PHP
Laravel模糊查询区分大小写的实例
2019/09/29 PHP
JS实现图片预加载无需等待
2012/12/21 Javascript
Javascript Object 对象学习笔记
2014/12/17 Javascript
JS实现左右拖动改变内容显示区域大小的方法
2015/10/13 Javascript
ajax跨域调用webservice的实现代码
2016/05/09 Javascript
基于JS实现密码框(password)中显示文字提示功能代码
2016/05/27 Javascript
Google 地图获取API Key详细教程
2016/08/06 Javascript
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
2016/08/26 Javascript
angular2+nodejs实现图片上传功能
2017/03/27 NodeJs
swiper插件自定义切换箭头按钮
2017/12/28 Javascript
JavaScript实现删除数组重复元素的5种常用高效算法总结
2018/01/18 Javascript
Bootstrap-table自定义可编辑每页显示记录数
2018/09/07 Javascript
详解Vue前端生产环境发布配置实战篇
2019/05/07 Javascript
js 解析 JSON 数据简单示例
2020/04/21 Javascript
如何在vue中使用百度地图添加自定义覆盖物(水波纹)
2020/11/03 Javascript
用Python登录好友QQ空间点赞的示例代码
2017/11/04 Python
解决pycharm无法识别本地site-packages的问题
2018/10/13 Python
Python matplotlib通过plt.scatter画空心圆标记出特定的点方法
2018/12/13 Python
selenium+python自动化测试之页面元素定位
2019/01/23 Python
python 发送和接收ActiveMQ消息的实例
2019/01/30 Python
Python建造者模式案例运行原理解析
2020/06/29 Python
python基于openpyxl生成excel文件
2020/12/23 Python
联想美国官方商城:Lenovo美国
2017/06/19 全球购物
Revolution Beauty美国官网:英国知名化妆品网站
2018/07/23 全球购物
俄罗斯在线服装店:STOLNIK
2021/03/07 全球购物
ORACLE十问
2015/04/20 面试题
会计学财务管理专业个人的自我评价
2013/10/19 职场文书
公积金单位接收函
2014/01/11 职场文书
119消防日活动总结
2014/08/29 职场文书
敬业奉献模范事迹材料
2014/12/24 职场文书
Python爬虫之爬取某文库文档数据
2021/04/21 Python
CSS 左边固定宽右边自适应的6种方法
2022/05/15 HTML / CSS