目标资源的发送方法和装置与流程

文档序号:11156655阅读:314来源:国知局
目标资源的发送方法和装置与制造工艺

本发明涉及互联网领域,具体而言,涉及一种目标资源的发送方法和装置。



背景技术:

目前,由于互联网迅速发展,网站入侵、网址劫持的事件频繁发生,内容分发网络(Content Delivery NetWork,简称为CDN)下的网站也深受其害,从而严重影响了用户对互联网的资源的正确使用。其中,运营商层面的劫持也屡见不鲜。运营商层面的劫持主要是针对于特定文件类型劫持。运营商在路由器上接入旁路设备来侦测分析经过路由器的HTTP请求,旁路设备对HTTP请求进行分析,如果识别出该HTTP请求为运营商所要劫持的目标HTTP请求,则在网站服务器返回数据之前抢先向客户端发送HTTP协议的302响应,重定向到预先设置的其它网址,这些网址可能包括并非客户端真实想要获取的目标资源,比如,广告或者不法信息等,从而导致用户通过客户端得不到正确的信息,并且也严重影响了网站的信誉及形象。

针对现有技术中由于网址劫持导致目标资源发送不准确的问题,目前尚未提出有效的解决方案。



技术实现要素:

本发明的主要目的在于提供一种目标资源的发送方法和装置,以至少解决由于网址劫持导致目标资源发送不准确的问题。

为了实现上述目的,根据本发明的一个方面,提供了一种目标资源的发送方法。该目标资源的发送方法包括:在内容分发网络中,获取用于访问目标网站的第一请求,其中,第一请求携带有目标网站的第一地址信息;对第一地址信息按照预设加密算法进行加密,得到第二地址信息;传输携带有第二地址信息和加密标识的第二请求,其中,加密标识用于指示第二地址信息是由第一地址信息按照预设加密算法进行加密得到;根据加密标识对第二地址信息按照与预设加密算法相对应的预设解密算法进行解密,得到第一地址信息,并向目标网站的源站服务器发送携带有第一地址信息的第三请求;向客户端发送源站服务器响应第三请求发送的目标网站的目标资源。

进一步地,获取用于访问目标网站的第一请求包括:通过第一节点服务器获取第一请求;对第一地址信息按照预设加密算法进行加密,得到第二地址信息包括:在第一节点服务器的下一跳为第二节点服务器的情况下,通过第一节点服务器对第一地址信息按照预设加密算法进行加密,得到第二地址信息;传输携带有第二地址信息和加密标识的第二请求包括:通过第一节点服务器向第二节点服务器发送携带有第二地址信息和加密标识的第二请求;根据加密标识对第二地址信息按照预设解密算法进行解密,得到第一地址信息,并向目标网站的源站服务器发送携带有第一地址信息的第三请求包括:第二节点服务器根据加密标识按照预设解密算法对第二地址信息进行解密,得到第一地址信息;在第二节点服务器的下一跳为源站服务器的情况下,向源站服务器发送携带有第一地址信息的第三请求。

进一步地,向客户端发送源站服务器响应第三请求发送的目标网站的目标资源包括:判断目标资源是否为第一页面内容;如果判断出目标资源为第一页面内容,获取第一页面内容中的第一内嵌地址信息;将页面内容中的第一内嵌地址信息按照预设加密算法进行加密,并添加加密标识,得到第二内嵌地址信息;将第一页面内容中的第一内嵌地址信息更新为第二内嵌地址信息,得到第二页面内容;向客户端发送第二页面内容。

进一步地,在向客户端发送第二页面内容之后,该方法还包括:获取用于访问目标网站的第四请求,其中,第四请求携带第二内嵌地址信息;根据加密标识对第二内嵌地址信息按照解密算法进行解密,得到第一内嵌地址信息,并向目标网站的源站服务器发送携带有第一内嵌地址信息的第五请求;向客户端发送源站服务器响应第五请求发送的目标网站的目标资源。

进一步地,将页面内容中的第一内嵌地址信息按照预设加密算法进行加密,并添加加密标识,得到第二内嵌地址信息包括:判断第一内嵌地址信息是否符合预设加密条件;如果判断出第一内嵌地址信息符合预设加密条件,将第一内嵌地址信息按照预设加密算法进行加密,并添加加密标识,得到第二内嵌地址信息。

进一步地,对第一地址信息按照预设加密算法进行加密,得到第二地址信息包括:获取第一地址信息中的文件名,其中,文件名包括目标资源的文件类型;按照文件名和预设加密算法对第一地址信息进行加密,得到第二地址信息;在对第一地址信息按照预设加密算法进行加密,得到第二地址信息之后,该方法还包括:将加密标识添加至第二地址信息中。

为了实现上述目的,根据本发明的另一方面,还提供了一种目标资源的发送装置。该目标资源的发送装置包括:第一获取单元,用于在内容分发网络中,获取用于访问目标网站的第一请求,其中,第一请求携带有目标网站的第一地址信息;加密单元,用于对第一地址信息按照预设加密算法进行加密,得到第二地址信息;传输单元,用于传输携带有第二地址信息和加密标识的第二请求,其中,加密标识用于指示第二地址信息是由第一地址信息按照预设加密算法进行加密得到;第一解密单元,用于根据加密标识对第二地址信息按照预设解密算法进行解密,得到第一地址信息,并向目标网站的源站服务器发送携带有第一地址信息的第三请求;发送单元,用于向客户端发送源站服务器响应第三请求发送的目标网站的目标资源。

进一步地,发送单元包括:判断模块,用于判断目标资源是否为第一页面内容;第一获取模块,用于在判断出目标资源为第一页面内容时,获取第一页面内容中的第一内嵌地址信息;第一加密模块,用于将页面内容中的第一内嵌地址信息按照预设加密算法进行加密,并添加加密标识,得到第二内嵌地址信息;发送模块,用于向客户端发送第二页面内容。

进一步地,该装置还包括:第二获取单元,用于在对第一地址信息按照预设加密算法进行加密之前,获取用于访问目标网站的第六请求,其中,第六请求携带有按照预设加密算法对目标网站的第一地址信息进行加密得到的第二地址信息;第二解密单元,用于按照预设解密算法对第二地址信息进行解密,得到第一地址信息;其中,加密单元用于在下一跳为节点服务器的情况下,对第一地址信息按照预设加密算法进行加密,得到第二地址信息。

进一步地,该加密单元包括:获取模块,用于获取第一地址信息中的文件名,其中,文件名包括目标资源的文件类型;第二加密模块,用于按照文件名和预设加密算法对第一地址信息进行加密,得到第二地址信息;该装置还包括:添加单元,用于将加密标识添加至第二地址信息中。

通过本发明,在内容分发网络中,获取用于访问目标网站的第一请求,其中,第一请求携带有目标网站的第一地址信息;对第一地址信息按照预设加密算法进行加密,得到第二地址信息;传输携带有第二地址信息和加密标识的第二请求,其中,加密标识用于指示第二地址信息是由第一地址信息按照预设加密算法进行加密得到;根据加密标识对第二地址信息按照与预设加密算法相对应的预设解密算法进行解密,得到第一地址信息,并向目标网站的源站服务器发送携带有第一地址信息的第三请求;向客户端发送源站服务器响应第三请求发送的目标网站的目标资源,由于对第一地址信息进行加密,得到第二地址信息,使得第二地址信息在向源站服务器传输的过程中防止被劫持,最后根据加密标识对第二地址信息进行解密,还原第一地址信息,源站服务器根据携带第一地址信息的第三请求发送目标网站的目标资源,解决了网址劫持导致目标资源发送不准确的问题,进而达到了提高目标资源发送的正确性的效果。

附图说明

构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1是根据本发明实施例的一种目标资源的发送方法的流程图;

图2是根据本发明实施例的一种目标资源的发送系统的示意图;

图3是根据本发明实施例的一种对请求URL进行解密的方法的流程图;

图4是根据本发明实施例的一种对请求URL进行加密的方法的流程图;

图5是根据本发明实施例的一种响应内容的发送方法的流程图;以及

图6是根据本发明实施例的一种目标资源的发送装置的示意图。

具体实施方式

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。

为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。

需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

图1是根据本发明实施例的一种目标资源的发送方法的流程图。如图1所示,该目标资源的发送方法包括以下步骤:

步骤S102,在内容分发网络中,获取用于访问目标网站的第一请求。

在本发明上述步骤S102提供的技术方案中,在在内容分发网络中,获取用于访问目标网站的第一请求,其中,第一请求携带有目标网站的第一地址信息。

内容分发网络(CDN)是通过在网络各处放置节点服务器构成的在互联网基础之上的一层智能虚拟网络,CDN系统能够实时地根据网络流量和各节点的连接、负载状况以及到用户的距离和响应时间等综合信息将用户的请求重新导向离用户最近的服务节点上,从而快速地将网站资源从源站传递到客户端,使用户可就近取得所需内容。在内容分发网络中,获取用于访问目标网站的第一请求,也即,节点服务器获取客户端发送的用于访问目标网站的第一请求,该第一请求携带有目标网站的第一地址信息,该第一地址信息为原始请求地址信息,可以为目标网站的统一资源定位符(Uniform Resource Locator,简称为URL),用于表示目标资源的位置和访问方法。

步骤S104,对第一地址信息按照预设加密算法进行加密,得到第二地址信息。

在本发明上述步骤S104提供的技术方案中,在对第一地址信息按照预设加密算法进行加密,得到第二地址信息。

在获取用于访问目标网站的第一请求之后,对第一地址信息按照预设加密算法进行加密,该预设加密算法有内容分发网络内部自定义的加密规则,方式灵活,可以使用多种加密算法的组合以提高第一地址信息加密的安全性,比如,采用Xor+Base64+数位对调的加密算法,其中,xor为异或,Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,具有不可读性,也即,通过Base64编码的数据不会被人用肉眼所直接看到,数位对调为不同数位的交换。在对第一地址信息按照预设加密算法进行加密时,可以对URL中的文件名进行加密,比如,URL中最后一个‘/’后面的字符串,如果带有问号参数,则连同问号参数一起提取,进行加密,其中,URL中的文件名可以用于表示目标资源的类型。可选地,通过节点服务器中的加密模块对第一地址信息按照预设加密算法进行加密,在对第一地址信息按照预设加密算法进行加密时,将预设的加密标识也添加到加密后的地址信息中,该加密标识用于标识加密后的地址信息为按照预设加密算法加密的地址信息,从而实现了对第一地址信息按照预设加密算法进行加密,得到第二地址信息的目的。

上述第二地址信息不符合运营商劫持地址信息的规则,比如,运营商一般设定的劫持规则为针对特定文件类型进行劫持,可以对apk文件进行请求劫持,而客户端发送的第一地址信息为http://www.test.com/test.apk,对该第一地址信息进行加密。加密后的第一地址信息为http://www.test.com/1234abc?encoding_url=1,不符合运营商劫持apk文件的劫持规则,则该请求会被运营商放过,从而得正确的目标资源。

可选地,对于不同事件、不同客户端可以灵活使用不同的加密规则,从而防止地址信息被劫持,提高目标资源传输的正确性。

可选地,在对第一地址信息按照预设加密算法进行加密,得到第二地址信息之后,对携带第一地址信息的第一请求进行解析,判断第一地址信息是否符合加密规则,也即,判断第一地址信息是否符合在网址劫持时进行加密的条件,如果判断出第一地址信息符合加密规则,则对第一地址信息进行加密,如果判断出第一地址信息不符合加密规则,则按照正常的地址信息处理过程进行处理。

步骤S106,传输携带有第二地址信息和加密标识的第二请求。

在本发明上述步骤S106提供的技术方案中,在传输携带有第二地址信息和加密标识的第二请求,其中,加密标识用于指示第二地址信息是由第一地址信息按照预设加密算法进行加密得到。

在对第一地址信息按照预设加密算法进行加密,得到第二地址信息之后,传输携带有第二地址信息和加密标识的第二请求,该加密标识用于指示第二地址信息是由第一地址信息按照预设加密算法进行加密得到的,可以为预设的关键字、字符串等。第二地址信可以在多个节点服务器之间传输,最终传输到源站服务器,但要保证地址信息从一个节点服务器到下一个节点服务器传输的过程中为加密的地址信息,以防止地址信息被劫持。在地址信息到达源站服务器时,该地址信息为解密的地址信息,使源站服务器根据解密的地址信息获取目标资源。

步骤S108,根据加密标识对第二地址信息按照与预设加密算法相对应的预设解密算法进行解密,得到第一地址信息,并向目标网站的源站服务器发送携带有第一地址信息的第三请求。

在本发明上述步骤S108提供的技术方案中,在根据加密标识对第二地址信息按照与预设加密算法相对应的预设解密算法进行解密,得到第一地址信息,并向目标网站的源站服务器发送携带有第一地址信息的第三请求。

加密过的地址信息含有加密标识。节点服务器根据加密标识对第二地址信息按照与预设加密算法相对应的预设解密算法进行解密,从而将第二地址信息还原为原始请求的第一地址信息,其中,预设加密算法与预设解密算法为互逆的处理算法。可选地,可选地,通过节点服务器中的解密模块对第二地址信息按照预设解密算法进行解密,得到第一地址信息,进而对还原后的第一地址信息进行处理。在对第一地址信息处理完之后,判断下一跳是回源站服务器还是回CDN上层节点,如果回源则用第一地址信息向目标网站的源站服务器发送携带第一地址信息的第三请求,其中,源站服务器对第三请求进行响应,并根据第一地址信息向客户端发送目标资源。如果回CDN上层节点,则对第一地址信息进行再次加密,防止第一地址信息在传输的过程中被劫持,然后向CDN上层节点发送携带加密后的地址信息的请求,直至达到源站服务器,从而提高了目标资源获取的正确性。

步骤S110,向客户端发送源站服务器响应第三请求发送的目标网站的目标资源。

在本发明上述步骤S110提供的技术方案中,在向客户端发送源站服务器响应第三请求发送的目标网站的目标资源。

在向目标网站的源站服务器发送携带有第一地址信息的第三请求之后,源站服务器对第三请求进行响应,根据第三请求携带的第一地址信息获取目标资源,将目标资源向客户端发送。可选地,源站服务器对第三请求进行响应,得到响应页面,对响应页面中符合加密规则的内嵌地址信息进行加密改写,从而根据加密改写后的内嵌地址信息替换响应页面中的原始内嵌URL,再将加密改写后的页面内容向客户端返回,从而防止响应页面在向客户端传输的过程中被劫持,提高了目标资源发送的正确性。

在该实施例中,由于在CDN网内,地址信息都是使用加密的地址信息,运营商的旁路设备不知道真实的地址信息,从而使加密后的地址信息绕开运营商的劫持规则,避免在CDN网内被运营商劫持,提高了目标资源发送的正确性。

该实施例通过在内容分发网络中,获取用于访问目标网站的第一请求,其中,第一请求携带有目标网站的第一地址信息;对第一地址信息按照预设加密算法进行加密,得到第二地址信息;传输携带有第二地址信息和加密标识的第二请求,其中,加密标识用于指示第二地址信息是由第一地址信息按照预设加密算法进行加密得到;根据加密标识对第二地址信息按照与预设加密算法相对应的预设解密算法进行解密,得到第一地址信息,并向目标网站的源站服务器发送携带有第一地址信息的第三请求;向客户端发送源站服务器响应第三请求发送的目标网站的目标资源,由于对第一地址信息进行加密,得到第二地址信息,使得第二地址信息在向源站服务器传输的过程中不符合运营商的劫持规则,防止第一地址信息被劫持,最后根据加密标识对第二地址信息进行解密,还原第一地址信息,源站服务器根据携带第一地址信息的第三请求发送目标网站的目标资源,解决了网址劫持导致目标资源发送不准确的问题,进而达到了提高目标资源发送的正确性的效果。

作为一种可选的实施方式,获取客户端发送的用于访问目标网站的第一请求包括:通过第一节点服务器获取第一请求;对第一地址信息按照预设加密算法进行加密,得到第二地址信息包括:在第一节点服务器的下一跳为第二节点服务器的情况下,通过第一节点服务器对第一地址信息按照预设加密算法进行加密,得到第二地址信息;传输携带有第二地址信息和加密标识的第二请求包括:通过第一节点服务器向第二节点服务器发送携带有第二地址信息和加密标识的第二请求;根据加密标识对第二地址信息按照预设解密算法进行解密,得到第一地址信息,并向目标网站的源站服务器发送携带有第一地址信息的第三请求包括:第二节点服务器根据加密标识按照预设解密算法对第二地址信息进行解密,得到第一地址信息;在第二节点服务器的下一跳为源站服务器的情况下,向源站服务器发送携带有第一地址信息的第三请求。

内容分发网络包括多个节点服务器,该节点服务器可以接收加密的地址信息,也可以接收客户端自发的真实地址信息。多个节点服务器中的第一节点服务器与客户端相连接,通过第一节点服务器获取携带有目标网站的第一地址信息的第一请求。在第一节点服务器的下一跳为第二节点服务器的情况下,该第一节点服务器响应第一请求,并对第一地址信息按照预设加密算法进行加密,得到第二地址信息,通过第一节点服务器向第二节点服务器发送携带有第二地址信息和加密标识的第二请求,第二节点服务器在接收到第二请求之后,响应第二请求,并根据加密标识按照预设解密算法对第二地址信息进行解密,得到第一地址信息。可选地,在该第二节点服务器的下一跳为源站服务器的情况下,第二节点服务器向源站服务器发送携带有第一地址信息的第三请求,源站服务器对该第三请求进行响应,并向客户端发送该目标资源,可以通过节点服务器向客户端发送该目标资源。可选地,在该第二节点服务器的下一跳为第三节点服务器的情况下,第二节点服务器对第一地址信息按照预设加密算法进行加密,得到加密后的地址信息,并向第三节点服务器发送加密后的地址信息,直至地址信息达到源站服务器,进而防止网址劫持,提高目标资源发送的准确性。

作为一种可选的实施方式,对第一地址信息按照预设加密算法进行加密,得到第二地址信息包括:判断第一地址信息是否符合预设加密条件;如果判断出第一地址信息符合预设加密条件,按照预设加密算法对第一地址信息进行加密,得到第二地址信息。

在获取客户端发送的用于访问目标网站的第一请求之后,节点服务器判断第一请求携带的第一地址信息是否符合预设加密条件,比如,判断第一地址信息是否符合加密改写规则。如果判断出第一地址信息符合预设加密条件,按照预设加密算法对第一地址信息进行加密,可以按照多种加密算法的组合,比如,Xor+Base64+数位对调的加密算法对第一地址信息进行加密,得到第二地址信息,从而实现了对地址信息的加密,避免网址劫持,进而达到提高发送目标资源的正确性。可选地,如果判断出第一地址信息不符合预设加密条件,则进行正常的目标资源的请求过程。

作为一种可选的实施方式,向客户端发送源站服务器响应第三请求发送的目标网站的目标资源包括:判断目标资源是否为第一页面内容;如果判断出目标资源为第一页面内容,获取第一页面内容中的第一内嵌地址信息;将页面内容中的第一内嵌地址信息按照预设加密算法进行加密,并添加加密标识,得到第二内嵌地址信息;将第一页面内容中的第一内嵌地址信息更新为第二内嵌地址信息,得到第二页面内容;向客户端发送第二页面内容。

源站服务器响应第三请求,得到目标资源,该目标资源可以为响应页面。在目标资源为第一页面内容时,节点服务器将第一页面内容中的第一内嵌地址信息按照预设加密算法进行加密,,并添加加密标识,得到第二内嵌地址信息,根据第二内嵌地址信息替换第一页面内容中的第一内嵌地址信息,并向客户端发送第二内嵌地址信息对应的第二页面内容,客户端根据第二内嵌地址信息对应的第二页面内容获取客户端需要的资源,从而避免了目标资源在从源站服务器向客户端传输的过程中被劫持,所导致目标资源发送的正确性低的问题。

可选地,当目标资源为页面内容时,CDN节点接收源站服务器返回的响应内容。在CDN节点将响应内容发送给用户端之前,获取页面内容(一般是文本方式的网页文件)中的内嵌地址信息,判断该内嵌地址信息是否符合预设加密条件,如果判断出该内嵌地址信息符合预设加密条件,则将内嵌地址信息根据预设加密算法进行加密,得到加密内嵌地址信息,并用加密内嵌地址信息替代上述页面内容中的内嵌地址信息,得到更新后的页面内容,再将更新后的页面内容向客户端发送。客户端在接收更新后的页面内容之后,根据更新后的页面内容中的加密内嵌地址信息向CDN节点发送请求。需要说明的是,在客户端到CDN节点请求的过程中,请求所携带的地址信息为该加密地址信息。

进一步地,在向客户端发送第二页面内容之后,该方法还包括:获取用于访问目标网站的第四请求,其中,第四请求携带第二内嵌地址信息;根据加密标识对第二内嵌地址信息按照解密算法进行解密,得到第一内嵌地址信息,并向目标网站的源站服务器发送携带有第一内嵌地址信息的第五请求;向客户端发送源站服务器响应第五请求发送的目标网站的目标资源。

作为一种可选的实施方式,将页面内容中的第一内嵌地址信息按照预设加密算法进行加密,并添加加密标识,得到第二内嵌地址信息包括:判断第一内嵌地址信息是否符合预设加密条件;如果判断出第一内嵌地址信息符合预设加密条件,将第一内嵌地址信息按照预设加密算法进行加密,并添加加密标识,得到第二内嵌地址信息。

在将页面内容中的第一内嵌地址信息按照预设加密算法进行加密时,判断第一内嵌地址信息是否符合预设加密条件,比如,判断第一内嵌地址信息是否符合加密改写规则,对符合加密改写规则的第一内嵌地址信息按照预设加密算法进行加密改写,得到第二内嵌地址信息,该第二内嵌地址信息包括加密标识。将第一内嵌地址信息替换为第二内嵌地址信息,将第二内嵌地址信息对应的页面内容向客户端返回。可选地,如果判断出第一内嵌地址信息不符合预设加密条件,则进行正常的目标资源响应过程。

作为一种可选的实施方式,对第一地址信息按照预设加密算法进行加密,得到第二地址信息包括:获取第一地址信息中的文件名,其中,文件名包括目标资源的文件类型;按照文件名和预设加密算法对第一地址信息进行加密,得到第二地址信息;在对第一地址信息按照预设加密算法进行加密,得到第二地址信息之后,该方法还包括:将加密标识添加至第二地址信息中。

第一地址信息包括文件名,可以包括目标资源的文件类型,该文件名可以为apk。在对第一地址信息按照预设加密算法进行加密时,获取第一地址信息中的文件名,根据第一地址信息中的文件名和目标资源的文件类型对第一地址信息进行加密,得到第二地址信息。在得到第二地址信息之后,将加密标识添加至第二地址信息中。

可选地,获取请求URL中,对URL中的文件名(URL中最后一个‘/’后面的字符串,如果带有问号参数,则连同参数一块提取)进行加密,得到加密后的URL。

进一步地,在对第一地址信息按照预设加密算法进行加密,得到第二地址信息之前,该方法还包括:获取至少一种加密算法,其中,加密算法为节点服务器自定义的算法;对至少一种加密算法进行组合,得到预设加密算法。

该预设加密算法有内容分发网络内部自定义的加密规则,方式灵活,可以使用多种加密算法的组合以提高第一地址信息加密的安全性,比如,采用Xor+Base64+数位对调的加密算法,其中,Xor为异或,Base64是网络上最常见的用于传输8Bit字节代码的编码方式之一,具有不可读性,也即,通过Base64编码的数据不会被人用肉眼所直接看到,数位对调为不同数位的交换。

下面结合优选的实施方式对本发明的技术方案进行说明。

该实施例的地址信息为URL,使用灵活的加密规则对地址信息进行加密。其中,加密规则为内容分发网络中内部自定义的规则,可以是多种加密算法的组合,比如,Xor+Base64+数位对调等。可选地,对URL中的文件名进行加密,并将特定的加密标识添到加密后的请求URL,从而得到加密后的请求URL,运营商按照URL劫持规则识别不出真实的请求URL,从而绕开运营商的URL劫持规则,防止请求URL在运营商层面的网址劫持,确保用户通过客户端访问到正确的网站内容。

图2是根据本发明实施例的一种目标资源的发送系统的示意图。如图2所示,该目标资源的发送系统包括:客户端,多个CND节点,源站服务器,其中,每个CND节点包括解密模块和加密模块。

客户端使用真实URL或者加密URL向CDN节点发起请求。其中,真实URL是指客户端自发的请求,加密URL是页面内嵌URL,在之前页面访问响应时已经对内嵌URL进行加密过,得到该加密URL。在CDN节点接收请求之后,CND节点的解密模块判断URL是否需要解密,如果判断出URL不需要解密,则进行正常的请求处理过程,如果判断出URL需要解密,则按照预设解密算法对加密URL进行解密,还原出真实请求URL,接着继续走正常的请求处理过程。解密算法是加密算法的逆操作。其中,加密URL含有加密标识,CDN节点对于符合这种标识的URL先进行解密,还原真实URL,再进行请求处理。

在CDN节点处理完请求之后,预向下一跳发起携带真实URL的请求。如果下一条跳还是CDN节点,并且该携带真实URL的请求符合加密规则,则使用预设加密算法对真实URL加密改写,并使用加密后的URL发送请求,从而保证在CDN网内,请求URL都是使用加密URL,运营商的旁路设备不知道真实URL,从而绕开运营商的劫持规则,避免在CDN网内被运营商劫持;如果下一跳是源站服务器,则不对真实URL进行加密,而是直接使用真实URL向源站服务器发起获取目标资源的请求。如果判断出携带真实URL的请求不符合加密规则,则进行正常的请求处理和响应过程。其中,加密规则由CDN内部自定义,不同时间不同客户可以灵活使用不同的加密规则,加密规则可以是多种加密算法的组合。

源站服务器在接收请求之后,根据请求将响应内容发送给CDN节点,CDN节点的加密模块判定响应内容是否为页面,如果加密模块判断出响应内容为页面,且该页面有符合加密规则的内嵌URL,则通过加密算法对内嵌URL进行加密改写,替换页面中的原始内嵌URL,再将改写后的内嵌URL对应的页面内容响应至客户端,使得内嵌URL绕开运营商的劫持规则,避免被运营商劫持;如果节点服务器的加密模块判断出页面的内嵌URL不符合加密规则,则进行正常的响应过程,将响应内容向客户端发送。

图3是根据本发明实施例的一种对请求URL进行解密的方法的流程图。如图3所示,该对地址信息进行解密的方法包括以下步骤:

步骤S301,CDN节点接收请求URL。

CND节点接收客户端发送的请求URL。

步骤S302,CDN节点的解密模块判断请求URL是否含有加密标识。

加密过的URL都含有加密标识,在CDN节点接收请求URL接收到请求URL之后,通过解密模块判断该请求URL是否含有加密标识。如果CDN节点的解密模块判断出请求URL含有加密标识,步骤S303,如果CDN节点的解密模块判断出请求URL不含有加密标识,执行步骤S304。

步骤S303,CDN节点使用解密算法,还原出真实的请求URL。

CDN节点对于具有加密标识的URL先进行解密。如果CDN节点的解密模块判断出请求URL含有加密标识,使用解密算法,还原出真实的请求URL,再执行步骤S304。

步骤S304,CDN节点进行正常的请求处理过程。

如果CDN节点的解密模块判断出请求URL不含有加密标识,进行正常的请求处理过程。

图4是根据本发明实施例的一种对请求URL进行加密的方法的流程图。如图4所示,该对请求URL进行加密的方法包括以下步骤:

步骤S401,CDN节点发送请求到下一跳。

CND节点在请求处理完之后,要发送请求到下一跳,下一跳可以为CND节点,也可以为源站服务器。

步骤S402,CDN节点的加密模块判断下一跳是否为源站服务器。

在CDN节点要发送请求到下一跳之后,CDN节点的加密模块判断下一跳是否为源站服务器。如果CDN节点的加密模块判断下一跳为源站服务器,执行步骤S403,如果CDN节点的加密模块判断下一跳不为源站服务器,而为CND节点,执行步骤S404。

步骤S403,CDN节点使用真实URL向源站服务器发起请求。

如果CDN节点的加密模块判断下一跳为源站服务器,则真实URL不再加密,直接使用该真实URL向源站服务器发起请求。

步骤S404,CDN节点继续判断是否符合配置的加密URL规则。

如果CDN节点的加密模块判断下一跳不是源站服务器,则继续判断是否符合配置的加密URL规则。如果CDN节点继续判断出不符合配置的加密URL规则,执行步骤S405,如果CDN节点继续判断出符合配置的加密URL规则,执行步骤S406。

步骤S405,进行正常的请求发送过程。

如果CDN节点继续判断出不符合配置的加密URL规则,进行正常的请求发送过程。

步骤S406,获取请求URL中的文件名,使用自定义的加密规则对URL加密,并将加密标识添加到URL中。

如果CDN节点继续判断出符合配置的加密URL规则,获取请求URL中的文件名,使用自定义的加密规则对URL加密,并将加密标识添加到URL中,得到改写后的加密URL。该加密规则为CDN内部自定义的规则,方式灵活,可以是多种加密算法的组合,比如,Xor+Base64+数位对调等。加密标识可以为关键字,字符串等。

步骤S407,使用改写后的加密URL向下一跳CDN节点发起请求。

在得到改写后的加密URL之后,使用改写后的加密URL向下一跳CDN节点发起请求。

图5是根据本发明实施例的一种响应内容的发送方法的流程图。如图5所示,该方法包括以下步骤:

步骤S501,源站服务器发送页面响应内容给CDN节点。

当目标资源为页面内容时,CDN节点在将源站服务器返回的响应内容发送给用户端之前,获取源站服务器发送的响应内容,可选地,该响应内容为文本方式的网页文件。

步骤S502,CDN节点的加密模块获取响应内容中的内嵌URL。

步骤S503,判断内嵌URL是否符合配置的加密URL规则。

在CDN节点的加密模块获取响应内容中的内嵌URL之后,判断内嵌URL是否符合配置的加密URL规则。如果判断出内嵌URL不符合配置的加密URL规则,执行步骤S504,如果判断出内嵌URL符合配置的加密URL规则,执行步骤S505。

步骤S504,进行正常的响应过程。

如果判断出内嵌URL不符合配置的加密URL规则,进行正常的响应过程。

步骤S505,使用自定义的加密规则对内嵌URL加密,并将加密标识添加到URL中。

如果判断出内嵌URL符合配置的加密URL规则,将内嵌URL根据预设的加密算法进行加密,可以获取内嵌URL中的文件名,使用自定义的加密规则对内嵌URL加密,并将加密标识添加到URL中,得到加密后的URL。

步骤S506,使用加密后的URL替换原始URL,并将改写后的页面内容响应给客户端。

在得到加密后的URL之后,使用加密后的URL替换响应内容中的原始URL,并将更新后的页面内容发送给客户端,客户端在接收客户端接收后,会使用加密后的内嵌URL向节点服务器进行请求。在客户端到CDN节点请求的这段过程,传输的也是加密后的内嵌URL。

举例而言,节点服务器向源站服务器发送的请求为“http://www.vip.com/”,该请求的响应内容为页面内容。在源站服务器响应上述请求之后,源站服务器向节点服务器发送页面内容。在节点服务器获取页面内容之后,获取页面内容中的内嵌地址信息,该内嵌地址信息可以包括多条内嵌地址信息。可选地,获取页面内容中的所有内嵌地址信息,并分别判断内嵌地址信息是否符合预设加密条件。如果多条内嵌地址信息都符合预设加密条件,则将多个内嵌地址信息根据预设加密算法进行加密。

例如,源站服务器在接收请求之后返回的响应内容为第一条内嵌地址信息为:

http://a.vpimg2.com/upload/upimg2/h5/act/act-main/img/main/open/background/1207_20/tbg-4bbe9c7af0.jpg;

将其按照预设加密规则进行加密,得到第一条加密内嵌地址信息:

http://a.vpimg2.com/dtangagagavagageg234?wsencoding=1;

源站服务器在接收请求之后返回的响应内容为第二条内嵌地址信息为:

http://a.vpimg3.com/upload/upimg2/h5/act/act-main/img/main/open/background/1207_20/banner_01-19c294af8f.jpg;

将其按照预设加密规则进行加密,得到第二条加密内嵌地址信息:

http://a.vpimg3.com/galglgnnl566?wsencoding=1;

源站服务器在接收请求之后返回的响应内容为第三条内嵌地址信息为:

http://a.vpimg4.com/upload/upimg2/h5/act/act-main/img/main/open/background/1207_20/banner_02-6b458c8fad.jpg;

将其按照预设加密规则进行加密,得到第三条加密内嵌地址信息:

http://a.vpimg4.com/cn.vngdc09k?wsencoding=1。

在对上述第一条内嵌地址信息按照预设加密规则进行加密得到第一加密内嵌地址信息之后,用第一加密内嵌地址信息替换第一条内嵌地址信息;在对上述第二条内嵌地址信息按照预设加密规则进行加密得到第二加密内嵌地址信息之后,用第二加密内嵌地址信息替换第二条内嵌地址信息;在对上述第三条内嵌地址信息按照预设加密规则进行加密得到第三加密内嵌地址信息之后,用第三加密内嵌地址信息替换第三条内嵌地址信息,而页面内容中的其它内容不变,得到重新组合的页面内容,并将重新组合的页面内容向客户端,达到了提高目标资源发送的正确性的问题。

相比于真实URL请求和处理过程,该实施例具有以下优势:

在CDN网内,请求URL都是使用加密的URL,运营商的旁路设备不知道真实的请求URL,从而绕开运营商的劫持规则,避免在CDN网内被运营商劫持。将响应页面中的内嵌URL进行加密改写,用改写后的URL替换内嵌URL,并将改写后的页面内容响应发给客户端,使得内嵌URL绕开运营商的劫持规则,避免被运营商劫持。加密规则由CDN内部自定义,不同时间不同客户可以灵活使用不同的加密规则,加密规则可以是多种加密算法的组合;加解密使用可逆的处理算法,解密算法是加密算法的逆操作。加密过的URL含有加密标识,CDN节点对于符合这种标识的URL先进行解密,还原原始请求URL,再进行请求处理。处理完判断是否回源或者回CDN上层节点。若回源则用解密后的URL向源站发起请求,若回上层节点,则先加密后再发给CDN上层节点请求。CDN节点对客户端的请求做解析,分析是否符合配置的URL加密改写规则,并做出相应的处理过程。对符合URL加密改写规则的响应页面的内嵌URL进行加密改写,替换原始的内嵌URL,再将加密改写后的页面内容向客户端发送。对符合URL加密改写规则的用户自发请求,在CDN网内传输都使用加密后的URL,从而通过对客户端请求URL中的文件名进行加密改写,将请求URL进行转化,运营商的旁路设备只能识别到转化后的URL,不知道真实的请求URL,从而绕开运营商的URL劫持规则,确保用户能访问到正确的信息。

需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本发明实施例还提供了一种目标资源的发送装置的示意图。需要说明的是,该实施例的目标资源的发送装置可以用于执行本发明实施例的目标资源的发送方法。

图6是根据本发明实施例的一种目标资源的发送装置的示意图。如图6所示,该目标资源的发送装置可以包括:第一获取单元10、加密单元20、传输单元30和第一解密单元40和发送单元50。

第一获取单元10,用于在内容分发网络中,获取用于访问目标网站的第一请求,其中,第一请求携带有目标网站的第一地址信息。

加密单元20,用于对第一地址信息按照预设加密算法进行加密,得到第二地址信息。

传输单元30,用于传输携带有第二地址信息和加密标识的第二请求,其中,加密标识用于指示第二地址信息是由第一地址信息按照预设加密算法进行加密得到。

第一解密单元40,用于根据加密标识对第二地址信息按照预设解密算法进行解密,得到第一地址信息,并向目标网站的源站服务器发送携带有第一地址信息的第三请求。

发送单元50,用于向客户端发送源站服务器响应第三请求发送的目标网站的目标资源。

可选地,加密单元20用于判断第一地址信息是否符合预设加密条件,如果判断出第一地址信息符合预设加密条件,按照预设加密算法对第一地址信息进行加密,得到第二地址信息。

可选地,发送单元50包括:判断模块、第一获取模块、第一加密模块、更新模块和发送模块。其中,判断模块,用于判断目标资源是否为第一页面内容;第一获取模块,用于在判断出目标资源为第一页面内容时,获取第一页面内容中的第一内嵌地址信息;第一加密模块,用于在判断出目标资源为页面内容时,将页面内容中的第一内嵌地址信息按照预设加密算法进行加密,并添加加密标识,得到第二内嵌地址信息;更新模块,用于将第一页面内容中的第一内嵌地址信息更新为第二内嵌地址信息,得到第二页面内容;发送模块,用于向客户端发送第二页面内容。

可选地,加密单元包括:第二获取模块、第二加密模块。其中,第二获取模块,用于获取第一地址信息中的文件名,其中,文件名包括目标资源的文件类型;第二加密模块,用于按照文件名和预设加密算法对第一地址信息进行加密,得到第二地址信息;该装置还包括添加单元,用于将加密标识添加至第二地址信息中。

可选地,该装置还包括:第二获取单元,用于在对第一地址信息按照预设加密算法进行加密,得到第二地址信息之前,获取至少一种加密算法,其中,加密算法为节点服务器自定义的算法;组合单元,用于对至少一种加密算法进行组合,得到预设加密算法。

该实施例通过第一获取单元10在内容分发网络中,获取用于访问目标网站的第一请求,其中,第一请求携带有目标网站的第一地址信息,通过加密单元20对第一地址信息按照预设加密算法进行加密,得到第二地址信息,通过传输单元30传输携带有第二地址信息和加密标识的第二请求,其中,加密标识用于指示第二地址信息是由第一地址信息按照预设加密算法进行加密得到,通过第一解密单元40根据加密标识对第二地址信息按照预设解密算法进行解密,得到第一地址信息,并向目标网站的源站服务器发送携带有第一地址信息的第三请求,通过发送单元50向客户端发送源站服务器响应第三请求发送的目标网站的目标资源,由于对第一地址信息进行加密,得到第二地址信息,使得第二地址信息在向源站服务器传输的过程中防止被劫持,最后根据加密标识对第二地址信息进行解密,还原第一地址信息,源站服务器根据携带第一地址信息的第三请求发送目标网站的目标资源,解决了网址劫持导致目标资源发送不准确的问题,进而达到了提高目标资源发送的正确性的效果。

显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

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