请求处理方法、节点及存储介质技术

技术编号:29526770 阅读:21 留言:0更新日期:2021-08-03 15:13
本发明专利技术公开了一种请求处理方法、节点及存储介质。本发明专利技术中,节点接收客户端发送的第一资源请求,并对第一资源请求进行解析,确定第一资源请求访问的资源中是否包含外链;如果不包含,将第一资源请求发送至对应的源站;如果包含,基于第一资源请求生成第二资源请求,并将第二资源请求发送至源站;接收源站返回的资源,如果资源为基于第一资源请求返回的资源,则将资源发送给客户端,如果资源为基于第二资源请求返回的资源,则对资源进行改写,并将改写后的资源发送给客户端。

【技术实现步骤摘要】
请求处理方法、节点及存储介质
本专利技术实施例涉及内容分发网络
,特别涉及一种请求处理方法、节点及存储介质。
技术介绍
当网页包含其它网站内容的链接——俗称外链,客户为了提高页面的加载速度,通常会使用内容分发网络(ContentDeliveryNetwork,CDN)提供加速服务,然而现有的CDN加速服务只能针对页面中包含的内链进行加速,难以对外链加速,这就导致了页面中部分内容响应缓慢,甚至无法显示。为了实现对外链的加速,目前的做法是在外链的域名之后拼接一个特殊的改写域名,从而使得外链能够基于改写域名使用CDN加速服务,以此达到加速效果,此外改写后的外链内容如果还有外链,也会被再次改写。但现有方案中,为了使用CDN节点实现CDN加速服务,具体是将改写服务和CDN加速服务耦合在一起,即通过同一个模块或进程来实现,这就使得所有经过该模块或进程的资源,均会先进行改写流程,然后再执行CDN加速。然而在实际应用中,并非所有从源站获取到的资源都需要执行改写流程,因此现有方案不仅会导致请求响应延迟变大,同时会造成对改写性能的严重浪费,进而导致CDN节点整体服务出现瓶颈。
技术实现思路
本专利技术实施例的目的在于提供一种请求处理方法、节点及存储介质,旨在解决现有从源站返回的所有资源都需要执行改写业务,然后才反馈给客户端,不仅浪费改写性能,同时导致CDN加速服务效果差,影响CDN节点整体服务性能的技术问题。为解决上述技术问题,本专利技术的实施例提供了一种请求处理方法,应用于节点,所述请求处理方法包括:接收客户端发送的第一资源请求,并对所述第一资源请求进行解析,确定所述第一资源请求访问的资源中是否包含外链;如果不包含,将所述第一资源请求发送至对应的源站;如果包含,基于所述第一资源请求生成第二资源请求,并将所述第二资源请求发送至所述源站;接收所述源站返回的资源,如果所述资源为基于所述第一资源请求返回的资源,则将所述资源发送给所述客户端,如果所述资源为基于第二资源请求返回的资源,则对所述资源进行改写,并将改写后的资源发送给所述客户端。本专利技术的实施例还提供了一种节点,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上文所述的请求处理方法。本专利技术的实施例还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现如上文所述的请求处理方法。CDN回源遵循的原则是请求发出去的流转过程是怎样的,收到的响应就会按照逆过程流转回客户端。基于这一原则,本专利技术实施例提供的请求处理方法、节点及存储介质,进行请求处理的节点,通过确定客户端发起的第一资源请求访问的资源中是否包括外链,进而在确定不包括外链时,基于第一资源请求进行回源,即直接基于第一资源请求从源站获取需要访问的资源,并将获取到的资源直接反馈给客户端,从而使得整个回源过程不会再经过改写流程,实现了对客户端发起的第一资源请求访问的资源的加速回源;在客户端发起的第一资源请求访问资源中存在外链时,则设置基于第一资源请求生成第二资源请求,然后再基于第二资源请求从源站获取资源,这样在源站返回的资源是基于第二请求获取的时候,便可以对该资源进行改写处理,然后才将改写后的资源返回给客户端。通过这种方式,既实现了改写业务的正常执行,又能加速不包含外链的资源回源。此外,由于简化了改写流程,从而大大降低了CDN的性能开销,保证了CDN回源服务的质量。附图说明一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。图1是本专利技术实施例提供的请求处理方法的具体流程图;图2是基于图1所示的请求处理方法,客户端、CDN节点和源站之间的交互关系示意图;图3是本专利技术实施例提供的请求处理方法的又一具体流程图;图4是本专利技术实施例的节点的结构示意图。具体实施方式本专利技术实施例中术语“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本专利技术实施例中术语“多个”是指两个或两个以上,其它量词与之类似。为使本专利技术实施例的目的、技术方案和优点更加清楚,下面将结合附图对本专利技术的各实施例进行详细的阐述。然而,本领域的普通技术人员可以理解,在本专利技术各实施例中,为了使读者更好地理解本专利技术而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施例的种种变化和修改,也可以实现本专利技术所要求保护的技术方案。以下各个实施例的划分是为了描述方便,不应对本专利技术的具体实现方式构成任何限定,各个实施例在不矛盾的前提下可以相互结合相互引用。参见图1,图1是本专利技术实施例提供的请求处理方法的流程图,本实施例中,以内容分发网络CDN为例,请求处理方法主要应用于CDN节点。如图1所示,本实施例提供的请求处理方法,包括以下步骤:步骤101,接收客户端发送的第一资源请求,并对所述第一资源请求进行解析,确定所述第一资源请求访问的资源中是否包含外链。具体的说,在万维网(WorldWideWeb,WWW,也称:3W)上,每一信息资源都有统一的且在网上唯一的地址,该地址就是统一资源定位符(UniformResourceLocator,URL),它是3W的统一资源定位标志,即网络地址,并且在URL中通常会携带所请求的资源的资源类型。因此基于URL便可以确定客户端发起的第一资源请求访问的资源中是否包含外链。此外,可理解的,对于不同资源类型的资源,标识其具体类型的后缀名是不相同的,比如对于图片类型的资源,后缀名通常可以是.jpg、.png等,因此对于请求访问的资源为图片类型的资源时,获取到的客户端发起的第一资源请求对应的URL可能如下:https://csdnimg.cn/pubfooter/images/job-QR.png,对于该URL提取出的后缀名则为“.png”。相应地,对于文本类型的资源,后缀名通常与是.txt,因此对于请求访问的资源为文本类型的资源时,获取到的客户端发起的第一资源请求对应的URL可能如下:https://vms.host.edu/disk$user/my/notes/note12345.txt,对于该URL提取出的后缀名则为“.txt”。应当理解的是,上述示例仅是为了更好地理解本实施例的技术方案而列举的示例,不作为对本实施例的唯一限制。基于此,在接收到客户端发送的第一资源请求后,对第一资源请求进行解析,实质就是对第一资源请求对应的URL进行解析,提取URL的后缀名,然后根据从URL中提取的后缀名确定第一资源请求访问的资源中是否包含外链。具体的说,在一个例子中,为本文档来自技高网...

【技术保护点】
1.一种请求处理方法,其特征在于,应用于节点,所述请求处理方法包括:/n接收客户端发送的第一资源请求,并对所述第一资源请求进行解析,确定所述第一资源请求访问的资源中是否包含外链;/n如果不包含,将所述第一资源请求发送至对应的源站;/n如果包含,基于所述第一资源请求生成第二资源请求,并将所述第二资源请求发送至所述源站;/n接收所述源站返回的资源,如果所述资源为基于所述第一资源请求返回的资源,则将所述资源发送给所述客户端,如果所述资源为基于第二资源请求返回的资源,则对所述资源进行改写,并将改写后的资源发送给所述客户端。/n

【技术特征摘要】
1.一种请求处理方法,其特征在于,应用于节点,所述请求处理方法包括:
接收客户端发送的第一资源请求,并对所述第一资源请求进行解析,确定所述第一资源请求访问的资源中是否包含外链;
如果不包含,将所述第一资源请求发送至对应的源站;
如果包含,基于所述第一资源请求生成第二资源请求,并将所述第二资源请求发送至所述源站;
接收所述源站返回的资源,如果所述资源为基于所述第一资源请求返回的资源,则将所述资源发送给所述客户端,如果所述资源为基于第二资源请求返回的资源,则对所述资源进行改写,并将改写后的资源发送给所述客户端。


2.根据权利要求1所述的请求处理方法,其特征在于,所述对所述第一资源请求进行解析,确定所述第一资源请求访问的资源中是否包含外链,包括:
对所述第一资源请求对应的统一资源定位符URL进行解析,提取所述URL的后缀名;
根据所述后缀名确定所述第一资源请求访问的资源中是否包含外链。


3.根据权利要求2所述的请求处理方法,其特征在于,所述根据所述后缀名确定所述第一资源请求访问的资源中是否包含外链,包括:
将所述后缀名与预先构建的后缀名集合中的预设后缀名进行匹配;
如果所述后缀名集合中存在与所述后缀名匹配的预设后缀名,则确定所述第一资源请求访问的资源中不包含外链;
否则,确定所述第一资源请求访问的资源中包含外链。


4.根据权利要求3所述的请求处理方法,其特征在于,在所述确定所述第一资源请求访问的资源中包含外链之前,所述方法还包括:
向所述源站发起HEAD子请求;
接收所述源站返回的响应信息,并根据所述响应信息确定所述第一资源请求访问的资源中是否包含外链,所述响应信息仅包括所述第一资源请求访问的资源对应的元数据;
如果包含,则执行所述确定所述第一资源请求访问的资源中包含外链的步骤;
否则,执行所述确定所述第一资源请求访问的资源中不包含外链的步骤。


5.根据权利要求3所述的请求处理方法,其特征在于,所述后缀名集合中的预设后缀名包括:图片资源后缀名、音频资源后缀名和视频资源后缀名。


6.根据权利要求1所述的请求处理方法,其特征在于,所述接收客户端发送的第一资源请求,并对所述第一资源请求进行解析,确定所述第一资源请求访问的资源中是否包含外链,包括:
由提供CDN加速服务的第一进程接收客户端发送的第一资源请求,并对所述第一资源请求进行解析,确定所述第一资源请求访问的资源中是否包含外链。


7.根据权利要求6所述的请求处理方法,其特征在于,所述将所述第一资源请求发送至对应的源站,包括:
由所述第一进程将所述第一资源请求发送至对应的源站。


8.根据权利要求6所述的请求处理方法,其特征在于,所述基于所述第一资源请求生成第二资源请求,并将所述第二资源请求发送至所述源站,包括:
由所述第一进程将所述第一资源请求转发至提供改写服务的第二进程;
由所述第二进程更新所述第一资源请求的四元组,得到第二资源请求,并将所述第二资源请求转发至所述第一进程;
由所述第一进程将所述第二资源请求发送至所述源站。


9.根据权利要求7或8所述的请求处理方法,其特征在于,所述接收所述源站返回的资源,如果所述资源为基于所述第一资源请求返回的资源,则将所述资源发送给所述客户端,如果所述资源为基于第二资源请求返回的资源,则对所述资源进行改写,并将改写后的资源发送给所述客户端,包括:
由所述第一进程接收所述源站返回的资源,如果所述资源为基于所述第一资源请求返回的资源,...

【专利技术属性】
技术研发人员:佘江宁
申请(专利权)人:网宿科技股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1