javascript关于URI相关内容简单介绍

快乐打工仔 分类:实例代码

本章节介绍一下关于javascript解析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,

http://www.pipipi.net/search/?q=js&type=

于是就有如下代码:

var parser = document.createElement('a');
 parser.href = "http://www.pipipi.net/search/?q=js&type="

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

parser.protocol; 
 parser.host;
 parser.pathname;
 parser.search;

返回的结果便是:

protocol:http
 host:www.pipipi.net
 pathname:/search/
 search:?q=js&type=

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

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

mailto:h@pipipi.net?subject=antzone

于是有如下代码:

var parser = document.createElement('a');
 parser.href = "mailto:h@pipipi.net?subject=antzone";
 > parser.protocol
 "mailto:"
 > parser.pathname
 "h@pipipi.net"
 > parser.search
 "?subject=hello"

回复

我来回复
  • 暂无回复内容