一种基于windowlocation的URL解析的方法与流程

文档序号:11654369阅读:209来源:国知局
一种基于windowlocation的URL解析的方法与流程

本发明涉及网络资源地址技术领域,尤其涉及一种基于windowlocation的url解析的方法。



背景技术:

url(uniformresourcelocator,统一资源定位符)是用于完整地描述internet上网页和其他资源的地址的一种标识方法。

internet上的每一个网页都具有一个唯一的名称标识,通常称之为url地址,这种地址可以是本地磁盘,也可以是局域网上的某一台计算机,更多的是internet上的站点。url就是web地址,俗称网址。url是统一的,因为它们采用相同的基本语法,无论寻址哪种特定类型的资源或描述通过哪种机制获取该资源。url的一般格式为:

protocol://hostname[:port]/path/[;parameters][?query]#fragment;

url解析就是从完整的url地址中提取所需的参数。这些参数包括:

1、protocol(协议):指定使用的传输协议,最常用的是http协议,其他还有ftp、https等。

2、hostname(主机名):指存放资源的服务器的域名系统(dns)主机名或ip地址。

3、port(端口号):为整数,可选,省略是使用默认端口号,各种传输协议都有默认的端口号,比如http的默认端口为80。如果在服务器上对端口进行重定义,url中就不能省略端口号这一项。

4、path(路径):由“/”分隔开的字符串,可以被用来表示主机上的一个目录或文件地址。

5、parameters(参数):这是一个用于指定特定参数的可选项。

6、query(查询):可选,用于给动态网页(比如使用php、jsp、asp等技术制作的网页)传递参数,可以有多个参数,每个参数用“&”分隔开,而且每一个参数是一个键值对,表示为“键=值”的形式。

7、fragment(信息片段):是一个字符串,用于指定网络资源中的片段,比如一个网页中有多个名词解释,可以用这个参数定位到某一个名词解释上,也就是锚点。

现有技术的url解析方法都是采用字符索引或者正则表达式的形式,这些方法不仅实现复杂,而且容易出错,并不能很方便的很对每一种特定格式的url地址形式进行解析,很浪费时间。而且对于开发团队来说,会增加不必要的错误,影响整个项目的开发进程。

鉴于以上的传统方法存在的问题,需要提供一种更加高效间接地url解析方法。

因此,本领域的技术人员亟需研究出一种可以准确,快速获取网络资源地址需要的参数,并高效地对参数进行分割解析,解析过程简单又高效,减少开发人员的工作量,大大提高开发以及测试效率,缩短项目开发的周期的基于windowlocation的url解析的方法。



技术实现要素:

本发明要解决的技术问题是提供一种基于windowlocation的url解析的方法,该基于windowlocation的url解析的方法可以准确,快速获取网络资源地址需要的参数,并高效地对参数进行分割解析,准确地对网页的元素集合进行url分类,解析过程简单又高效,减少开发人员的工作量,大大提高开发以及测试效率,缩短项目开发的周期。

为解决上述技术问题,本发明提供了一种基于windowlocation的url解析的方法,包括以下步骤:

s1:服务器获取完整的url地址;

s2:在url地址加载后,所述服务器使用

window.location.protocal函数向url地址的主机获取完整的url协议名;

s3:url协议名加载后,所述服务器使用window.location的函数向主机获取相关参数,完成对url的解析;

其中,所述相关参数包括协议名称、主机名称、端口号、文件路径、url查询参数及url信息片段;

所述步骤s3的实现步骤包括:

s31:所述服务器定义一个用于存放函数的返回值的字符串,调用window.location.host函数获得url的主机名称;

s32:所述服务器定义一个用于存放函数的返回值的字符串,调用window.location.port函数获得url的主机端口号;

s33:所述服务器定义一个用于存放函数的返回值的字符串,调用window.location.pathname函数获得url的主机的文件路径,对于得到的完整url的文件路径,采用split函数对url的文件路径的内容进行分割得到具体的文件目录或者网页文件的名称;

s34:所述服务器定义一个用于存放函数的返回值的字符串,调用window.location.search函数得到url的主机查询参数,利用split函数对多个查询参数进行分割得到每一个参数,或者利用split函数分割得到每个参数的具体键和值;

s35:所述服务器定义一个字符串用于存放函数的返回值,调用window.location.hash函数得到url的主机信息片段,对该window.location.hash函数进行赋值操作,改变url指向的锚点,跳转到网页中的其他信息片段。

优选地,所述步骤s2的实现步骤包括:

s201:所述服务器定义一个字符串;

s202:对于得到的url地址,调用window.location.protocal函数获取协议名,将该函数返回值赋予步骤s201定义的字符串;

其中,所述定义的字符串即为url协议名。

优选地,所述基于windowlocation的url解析的方法还包括步骤:

s4:采用url分类策略根据分段集合q将url分割为n个片段,从左到右为q0,q1,...,qn-1,其中片段赋权值依次为

x0=n,x1=n-1,...,xn-1=1,区分相似url的主机,当s(url',url”)≥dα时,则判断url'和url”相似,将属于相同集合q的url进行聚类;

所述url分类策略配置有函数:

其中,dα为相似度指标值。

优选地,所述基于windowlocation的url解析的方法还包括步骤:

s5:利用url区分策略,对网页的元素集合hi进行url分类;

所述步骤s5的实现步骤包括:

s501:任取元素集合hi一个待分类的url,将其自成一类;

s502:从剩下的url中任选一个url,记为u;

s503:取和u具有最大相似度的类l,如果s(u,l)>dα,则将u添加到hi中;否则,u自成一类;

s504:判断是否处理了元素集合中的所有url,如果是,则执行步骤s505,否则,则执行步骤s501;

s505:得到元素集合hi中url聚类的结果h1,h2,...,hm;

s506:将hi对应的所有一类元素形成url区域块。

采用了上述方法之后,服务器获取完整的url地址;在url地址加载后,所述服务器使用window.location.protocal函数向url地址的主机获取完整的url协议名,url协议名加载后,所述服务器使用window.location的函数向主机获取相关参数,完成对url的解析;所述服务器定义一个用于存放函数的返回值的字符串,调用window.location.host函数获得url的主机名称;所述服务器定义一个用于存放函数的返回值的字符串,调用window.location.port函数获得url的主机端口号;所述服务器定义一个用于存放函数的返回值的字符串,调用window.location.pathname函数获得url的主机的文件路径,对于得到的完整url的文件路径,采用split函数对url的文件路径的内容进行分割得到具体的文件目录或者网页文件的名称;所述服务器定义一个用于存放函数的返回值的字符串,调用window.location.search函数得到url的主机查询参数,利用split函数对多个查询参数进行分割得到每一个参数,或者利用split函数分割得到每个参数的具体键和值;所述服务器定义一个字符串用于存放函数的返回值,调用window.location.hash函数得到url的主机信息片段,对该window.location.hash函数进行赋值操作,改变url指向的锚点,跳转到网页中的其他信息片段,该基于windowlocation的url解析的方法可以准确,快速获取网络资源地址需要的参数,并高效地对参数进行分割解析,准确地对网页的元素集合进行url分类,解析过程简单又高效,减少开发人员的工作量,大大提高开发以及测试效率,缩短项目开发的周期。

附图说明

图1是本发明的一种基于windowlocation的url解析的方法的执行流程图;

图2是本发明的一种基于windowlocation的url解析的方法的步骤s3实现流程图;

图3是本发明的一种基于windowlocation的url解析的方法的整体模型示意图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用于解释本发明,并不用于限定本发明。

实施例1

请参阅图1至图2,

图1是本发明的一种基于windowlocation的url解析的方法的执行流程图;

图2是本发明的一种基于windowlocation的url解析的方法的步骤s3实现流程图;

本发明公开了一种基于windowlocation的url解析的方法,包括以下步骤:

s1:服务器获取完整的url地址;

s2:在url地址加载后,所述服务器使用

window.location.protocal函数向url地址的主机获取完整的url协议名;

s3:url协议名加载后,所述服务器使用window.location的函数向主机获取相关参数,完成对url的解析;

s4:采用url分类策略根据分段集合q将url分割为n个片段,从左到右为q0,q1,...,qn-1,其中片段赋权值依次为x0=n,x1=n-1,...,xn-1=1,区分相似url的主机,当s(url',url”)≥dα时,则判断url'和url”相似,将属于相同集合q的url进行聚类;

s5:利用url区分策略,对网页的元素集合hi进行url分类;

其中,所述url分类策略配置有函数:dα为相似度指标值。

其中,所述相关参数包括协议名称、主机名称、端口号、文件路径、url查询参数及url信息片段;

请再参阅图3,图3是本发明的一种基于windowlocation的url解析的方法的整体模型示意图;

在本实施例,所述步骤s3的实现步骤包括:

所述步骤s3的实现步骤包括:

s31:所述服务器定义一个用于存放函数的返回值的字符串,调用window.location.host函数获得url的主机名称;

s32:所述服务器定义一个用于存放函数的返回值的字符串,调用window.location.port函数获得url的主机端口号;

s33:所述服务器定义一个用于存放函数的返回值的字符串,调用window.location.pathname函数获得url的主机的文件路径,对于得到的完整url的文件路径,采用split函数对url的文件路径的内容进行分割得到具体的文件目录或者网页文件的名称;

s34:所述服务器定义一个用于存放函数的返回值的字符串,调用window.location.search函数得到url的主机查询参数,利用split函数对多个查询参数进行分割得到每一个参数,或者利用split函数分割得到每个参数的具体键和值;

s35:所述服务器定义一个字符串用于存放函数的返回值,调用window.location.hash函数得到url的主机信息片段,对该window.location.hash函数进行赋值操作,改变url指向的锚点,跳转到网页中的其他信息片段。

在本实施例,所述步骤s2的实现步骤包括:

s201:所述服务器定义一个字符串;

s202:所述对于得到的url地址,调用window.location.protocal函数获取协议名,将该函数返回值赋予步骤s201定义的字符串;

其中,所述定义的字符串即为url协议名。

在本实施中,所述步骤s5的实现步骤包括:

s501:任取元素集合hi一个待分类的url,将其自成一类;

s502:从剩下的url中任选一个url,记为u;

s503:取和u具有最大相似度的类l,如果s(u,l)>dα,则将u添加到hi中;否则,u自成一类;

s504:判断是否处理了元素集合中的所有url,如果是,则执行步骤s505,否则,则执行步骤s501;

s505:得到元素集合hi中url聚类的结果h1,h2,...,hm;

s506:将hi对应的所有一类元素形成url区域块。

实施例2

本发明公开了一种基于windowlocation的url解析的方法,包括以下步骤:

s1:服务器获取完整的url地址;

s2:在url地址加载后,所述服务器使用window.location.protocal函数向url地址的存储器获取完整的url协议名;

s3:url协议名加载后,所述服务器使用window.location的函数向存储器获取相关参数,完成对url的解析;

s4:采用url分类策略根据分段集合q将url分割为n个片段,从左到右为q0,q1,...,qn-1,其中片段赋权值依次为x0=n,x1=n-1,...,xn-1=1,区分相似url的主机,当s(url',url”)≥dα时,则判断url'和url”相似,将属于相同集合q的url进行聚类;

s5:利用url区分策略,对网页的元素集合hi进行url分类;

其中,所述url分类策略配置有函数:

dα为相似度指标值。

其中,所述相关参数包括协议名称、存储器名称、端口号、文件路径、url查询参数及url信息片段;

在本实施例,所述步骤s2的实现步骤包括:

s201:所述服务器定义一个字符串;

s202:所述对于得到的url地址,调用

window.location.protocal函数获取协议名,将该函数返回值赋予步骤s201定义的字符串;

其中,所述定义的字符串即为url协议名。

在本实施例,所述步骤s3的实现步骤包括:

s31:所述服务器定义一个用于存放函数的返回值的字符串,调用window.location.host函数获得url的存储器名称;

s32:所述服务器定义一个用于存放函数的返回值的字符串,调用window.location.port函数获得url的存储器端口号;

s33:所述服务器定义一个用于存放函数的返回值的字符串,调用window.location.pathname函数获得url的主机的文件路径,对于得到的完整url的文件路径,采用split函数对url的文件路径的内容进行分割得到具体的文件目录或者网页文件的名称;

s34:所述服务器定义一个用于存放函数的返回值的字符串,调用window.location.search函数得到url的存储器查询参数,利用split函数对多个查询参数进行分割得到每一个参数,或者利用split函数分割得到每个参数的具体键和值;

s35:所述服务器定义一个字符串用于存放函数的返回值,调用window.location.hash函数得到url的存储器信息片段,对该window.location.hash函数进行赋值操作,改变url指向的锚点,跳转到网页中的其他信息片段。

在本实施中,所述步骤s5的实现步骤包括:

s501:任取元素集合hi一个待分类的url,将其自成一类;

s502:从剩下的url中任选一个url,记为u;

s503:取和u具有最大相似度的类l,如果s(u,l)>dα,则将u添加到hi中;否则,u自成一类;

s504:判断是否处理了元素集合中的所有url,如果是,则执行步骤s505,否则,则执行步骤s501;

s505:得到元素集合hi中url聚类的结果h1,h2,...,hm;

s506:将hi对应的所有一类元素形成url区域块。

采用了上述方法之后,服务器获取完整的url地址;在url地址加载后,所述服务器使用window.location.protocal函数向url地址的主机获取完整的url协议名,url协议名加载后,所述服务器使用window.location的函数向主机获取相关参数,完成对url的解析;所述服务器定义一个用于存放函数的返回值的字符串,调用window.location.host函数获得url的主机名称;所述服务器定义一个用于存放函数的返回值的字符串,调用window.location.port函数获得url的主机端口号;所述服务器定义一个用于存放函数的返回值的字符串,调用window.location.pathname函数获得url的主机的文件路径,对于得到的完整url的文件路径,采用split函数对url的文件路径的内容进行分割得到具体的文件目录或者网页文件的名称;所述服务器定义一个用于存放函数的返回值的字符串,调用window.location.search函数得到url的主机查询参数,利用split函数对多个查询参数进行分割得到每一个参数,或者利用split函数分割得到每个参数的具体键和值;所述服务器定义一个字符串用于存放函数的返回值,调用window.location.hash函数得到url的主机信息片段,对该window.location.hash函数进行赋值操作,改变url指向的锚点,跳转到网页中的其他信息片段,该基于windowlocation的url解析的方法可以准确,快速获取网络资源地址需要的参数,并高效地对参数进行分割解析,准确地对网页的元素集合进行url分类,解析过程简单又高效,减少开发人员的工作量,大大提高开发以及测试效率,缩短项目开发的周期。

同时,应当理解的是,以上仅为本发明的优选实施例,不能因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效实现方法,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1