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 相关文章推荐
基于jsTree的无限级树JSON数据的转换代码
Jul 27 Javascript
Node.js实战 建立简单的Web服务器
Mar 08 Javascript
javascript标签在页面中的位置探讨
Apr 11 Javascript
TypeError document.getElementById(...) is null错误原因
May 18 Javascript
jquery 重写 ajax提交并判断权限后 使用load方法报错解决方法
Jan 19 Javascript
jquery+html仿翻页相册功能
Dec 20 Javascript
vuejs父子组件通信的问题
Jan 11 Javascript
bootstrap table服务端实现分页效果
Aug 10 Javascript
AngularJS中scope的绑定策略实例分析
Oct 30 Javascript
vue实现跨域的方法分析
May 21 Javascript
node.JS路径解析之PATH模块使用方法详解
Feb 06 Javascript
Vue3如何理解ref toRef和toRefs的区别
Feb 18 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 strtotime 函数UNIX时间戳
2009/01/14 PHP
高质量PHP代码的50个实用技巧必备(下)
2016/01/22 PHP
制作高质量的JQuery Plugin 插件的方法
2010/04/20 Javascript
javascript获取所有同类checkbox选项(实例代码)
2013/11/07 Javascript
javascript 拷贝节点cloneNode()使用介绍
2014/04/03 Javascript
jQuery Easyui学习之datagrid 动态添加、移除editor
2016/01/27 Javascript
javascript基础知识
2016/06/07 Javascript
AngularJs Modules详解及示例代码
2016/09/01 Javascript
Javascript Event(事件)的传播与冒泡
2017/01/23 Javascript
Vue.js:使用Vue-Router 2实现路由功能介绍
2017/02/22 Javascript
静态页面实现 include 引入公用代码的示例
2017/09/25 Javascript
Angular4实现鼠标悬停3d倾斜效果
2017/10/25 Javascript
Angular中管道操作符(|)的使用方法
2017/12/15 Javascript
基于 Vue.js 2.0 酷炫自适应背景视频登录页面实现方式
2018/01/17 Javascript
如何使用JavaScript检测空闲的浏览器选项卡
2020/05/28 Javascript
小程序Scroll-view上拉滚动刷新数据
2020/06/21 Javascript
angular共享依赖的解决方案分享
2020/10/15 Javascript
linux下python抓屏实现方法
2015/05/22 Python
Python素数检测实例分析
2015/06/15 Python
Python通过调用mysql存储过程实现更新数据功能示例
2018/04/03 Python
Python如何实现转换URL详解
2019/07/02 Python
一篇文章弄懂Python中的可迭代对象、迭代器和生成器
2019/08/12 Python
python解析yaml文件过程详解
2019/08/30 Python
实例教程 HTML5 Canvas 超炫酷烟花绽放动画实现代码
2014/11/05 HTML / CSS
BRASTY捷克:购买香水、化妆品、手袋和手表
2017/07/12 全球购物
合同专员岗位职责
2013/12/18 职场文书
经典大学生求职信范文
2014/01/06 职场文书
信息管理应届生求职信
2014/03/07 职场文书
初中生庆国庆演讲稿范文2014
2014/09/25 职场文书
街道务虚会发言材料
2014/10/20 职场文书
村党的群众路线教育实践活动总结材料
2014/10/31 职场文书
2014幼儿园卫生保健工作总结
2014/12/05 职场文书
匿名信格式范文
2015/05/27 职场文书
小学体育队列队形教学反思
2016/02/16 职场文书
教你利用python实现企业微信发送消息
2021/05/23 Python
VUE解决跨域问题Access to XMLHttpRequest at
2022/05/06 Vue.js