首页> 中国专利> 提高网页加载速度的方法和装置

提高网页加载速度的方法和装置

摘要

本发明实施例提供一种提高网页加载速度的方法和装置,该方法包括:读取待加载的网页内容代码;根据预先配置的文件识别所述网页内容代码中的目标脚本信息,预先配置的文件中包含需要识别的脚本信息;将识别出的目标脚本信息替换成相应的替代信息,所述替代信息是可压缩信息;通过识别网页内容脚本部分,进行脚本信息替换,保证原有脚本逻辑不发生改变,并且由于替代信息可进行压缩处理,因此可以有效解决网页页面不能被压缩处理的问题,进而对替换之后的网页内容进行压缩处理,得到压缩后的网页内容,以在加载所述网页内容时加载所述压缩后的网页内容,从而提升了网页加载速度,解决了部分网页内容无法压缩导致的网页加载速度慢的问题。

著录项

  • 公开/公告号CN114969596A

    专利类型发明专利

  • 公开/公告日2022-08-30

    原文格式PDF

  • 申请/专利号CN202110196242.2

  • 发明设计人 李静晨;

    申请日2021-02-22

  • 分类号G06F16/958(2019.01);G06F16/957(2019.01);

  • 代理机构北京同立钧成知识产权代理有限公司 11205;北京同立钧成知识产权代理有限公司 11205;

  • 代理人朱颖;黄健

  • 地址 100033 北京市西城区金融大街21号

  • 入库时间 2023-06-19 16:31:45

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-09-16

    实质审查的生效 IPC(主分类):G06F16/958 专利申请号:2021101962422 申请日:20210222

    实质审查的生效

说明书

技术领域

本发明实施例涉及互联网技术领域,尤其涉及一种提高网页加载速度的方法和装置。

背景技术

随着移动互联网的发展和智能手机等电子设备的普及,用户可以通过智能手机等电子设备登录各种网站页面来获取需要的信息。网站中网页内容的加载速度会直接影响用户获取信息的效率。为了提升用户的信息获取效率,需要提升网站页面的加载速度。

相关技术中,提升网站页面速度的方法主要是通过压缩网站页面中的资源来进行传输,而压缩网站页面资源的方法主要有两种,一种是优化服务器端,比如开启压缩GZip功能等;另一种是网页代码层优化,比如减少引用js、css、jpg等资源数量以及对网页资源进行合并或压缩等优化。

然而,上述方法无法应用于所有网页,比如对于java服务器页面(Java ServerPages,JSP)、超文本预处理器PHP:Hypertext Preprocessor等脚本语言类网站,无法应用现有方法提高网页加载速度,同样导致网页内容加载速度低。

发明内容

本发明实施例提供一种提高网页加载速度的方法和装置,以解决现有技术中对于JSP、PHP等脚本语言类网站,无法应用现有方法提高网页加载速度,导致网页内容加载速度低的问题。

本发明实施例的第一方面提供一种提高网页加载速度的方法,包括:

读取待加载的网页内容代码;

根据预先配置的文件识别所述网页内容代码中的目标脚本信息,所述预先配置的文件中包含需要识别的脚本信息;

将所述目标脚本信息替换成相应的替代信息,所述替代信息是可压缩信息;

对替换之后的网页内容进行压缩处理,得到压缩后的网页内容,以在加载所述网页内容时加载所述压缩后的网页内容。

可选地,所述将所述目标脚本信息替换成相应的替代信息之后,所述方法还包括:

记录替换日志,所述替换日志包括被替换的目标脚本信息和替换后的所述替代信息。

可选地,所述方法还包括:

根据所述替换日志,对所述压缩后的网页内容进行还原操作,得到还原后的网页内容代码。

可选地,所述替代信息包含编号,所述目标脚本信息与所述编号为一一对应的关系;

所述根据所述替换日志,对所述压缩后的网页内容进行还原操作,包括:

根据所述替换日志中替代信息中的编号,在所述压缩后的网页内容中识别对应的替代信息;

将所述替换日志中替代信息中的编号对应的替代信息,替换成所述替换日志中的目标脚本信息。

可选地,所述方法还包括:

保存所述还原后的网页内容代码。

可选地,所述根据预先配置的文件识别所述网页内容代码中的目标脚本信息,包括:

根据所述需要识别的脚本信息,确定相应的正则表达式,所述正则表达式包含网页类型和需要识别的脚本的格式信息;

根据所述配置文件,使用正则表达式识别所述网页内容代码中与所述网页类型和所述格式信息相匹配的目标脚本信息。

本发明实施例的第二方面提供一种提高网页加载速度的装置,包括:

读取模块,用于读取待加载的网页内容代码;

识别模块,用于根据预先配置的文件识别所述网页内容代码中的目标脚本信息,所述预先配置的文件中包含需要识别的脚本信息;

替换模块,用于将所述目标脚本信息替换成相应的替代信息,所述替代信息是可压缩信息;

压缩模块,用于对替换之后的网页内容进行压缩处理,得到压缩后的网页内容,以在加载所述网页内容时加载所述压缩后的网页内容。

本发明实施例的第三方面提供一种计算机设备,包括:至少一个处理器和存储器;

所述存储器存储计算机执行指令;

所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述至少一个处理器执行本发明实施例第一方面所述的提高网页加载速度的方法。

本发明实施例的第四方面提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现本发明实施例第一方面所述的提高网页加载速度的方法。

本发明实施例的第五方面提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本发明实施例第一方面所述的提高网页加载速度的方法。

本发明实施例提供一种提高网页加载速度的方法和装置,其中的方法通过读取待加载的网页内容代码;然后根据预先配置的文件识别所述网页内容代码中的目标脚本信息,所述预先配置的文件中包含需要识别的脚本信息;将识别出的目标脚本信息替换成相应的替代信息,所述替代信息是可压缩信息;通过识别网页内容脚本部分,进行脚本信息替换,保证原有脚本逻辑不发生改变,并且由于替代信息可进行压缩处理,因此可以有效解决网页页面不能被压缩处理的问题,进而对替换之后的网页内容进行压缩处理,得到压缩后的网页内容,以在加载所述网页内容时加载所述压缩后的网页内容,从而提升了网页加载速度,解决了网页内容无法压缩导致的网页加载速度慢的问题。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本发明一示例性实施例示出的提高网页加载速度的方法的应用场景图;

图2是本发明一示例性实施例示出的提高网页加载速度的方法的流程示意图;

图3是本发明另一示例性实施例示出的提高网页加载速度的方法的流程示意图;

图4是本发明一示例性实施例示出的提高网页加载速度的装置的结构示意图;

图5是本发明一示例性实施例示出的计算机设备的结构示意图。

具体实施方式

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

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

随着移动互联网的发展和智能手机等电子设备的普及,用户可以通过智能手机等电子设备登录各种网站页面来获取需要的信息。网站中网页内容的加载速度会直接影响用户获取信息的效率。为了提升用户的信息获取效率,需要提升网站页面的加载速度。

相关技术中,提升网站页面速度的方法主要是通过压缩网站页面中的资源来进行传输,而压缩网站页面资源的方法主要有两种,一种是优化服务器端,比如开启压缩GZip功能等;另一种是网页代码层优化,比如减少引用js、css、jpg等资源数量以及对网页资源进行合并或压缩等优化。然而,上述方法无法应用于所有网页,比如对于java服务器页面(Java Server Pages,JSP)、超文本预处理器PHP:Hypertext Preprocessor等脚本语言类网站,无法应用现有方法提高网页加载速度,同样导致网页内容加载速度低。

针对此缺陷,本发明的技术方案主要在于:通过读取待加载的网页内容代码;然后根据预先配置的文件识别所述网页内容代码中的目标脚本信息,所述预先配置的文件中包含需要识别的脚本信息;将识别出的目标脚本信息替换成相应的替代信息,所述替代信息是可压缩信息;通过识别网页内容脚本部分,进行脚本信息替换,保证原有脚本逻辑不发生改变,并且由于替代信息可进行压缩处理,因此可以有效解决网页页面不能被压缩处理的问题,进而对替换之后的网页内容进行压缩处理,得到压缩后的网页内容,以在加载所述网页内容时加载所述压缩后的网页内容,从而提升了网页加载速度,解决了网页内容无法压缩导致的网页加载速度慢的问题。

图1是本发明一示例性实施例示出的提高网页加载速度的方法的应用场景图。

如图1所示,本实施例提供的应用场景中主要包括显示终端101,服务端102和数据库103,其中,当应用在显示终端选择打开某个网站页面时,服务端向数据库请求相应的网页内容代码,然后将请求到的网页内容发送至显示终端显示。

图2是本发明一示例性实施例示出的提高网页加载速度的方法的流程示意图,本实施例中提供的方法的执行主体可以是图1所示实施例中的服务端。

如图2所示,本实施例提供的方法可以包括以下步骤。

S201,读取待加载的网页内容代码。

具体的,当用户通过显示终端选择需要打开的网页时,服务端生成相应的读取指令,并将读取指令发送至数据库,以读取相应的网页内容代码。

S202,根据预先配置的文件识别所述网页内容代码中的目标脚本信息,所述预先配置的文件中包含需要识别的脚本信息。

一些实施例中,需要先准备配置文件,在配置文件中定义需要处理的脚本信息,比如需要识别格式如的jsp脚本代码,则预先将该格式定义到配置文件中。

具体的,读取到网页内容代码后,根据配置文件,在网页内容代码中识别与配置文件中定义的脚本格式相匹配的脚本信息。

S203,将所述目标脚本信息替换成相应的替代信息,所述替代信息是可压缩信息。

具体的,对从网页内容代码中识别出来的目标脚本信息进行替换,替换成相应的替代信息,目标脚本信息是无法进行压缩的脚本信息,替换信息可以被压缩处理。

S204,对替换之后的网页内容进行压缩处理,得到压缩后的网页内容,以在加载所述网页内容时加载所述压缩后的网页内容。

具体的,将不能被压缩的目标脚本信息替换成可压缩的替代信息之后,替换之后的网页就相当于普通的超文本标记语言(Hyper Text Markup Language,HTML)页面,便可以对全部替换之后的网页内容进行压缩处理。从而在加载网页内容时能够提高加载速度。

本实施例中,通过读取待加载的网页内容代码;然后根据预先配置的文件识别所述网页内容代码中的目标脚本信息,所述预先配置的文件中包含需要识别的脚本信息;将识别出的目标脚本信息替换成相应的替代信息,所述替代信息是可压缩信息;通过识别网页内容脚本部分,进行脚本信息替换,保证原有脚本逻辑不发生改变,并且由于替代信息可进行压缩处理,因此可以有效解决网页页面不能被压缩处理的问题,进而对替换之后的网页内容进行压缩处理,得到压缩后的网页内容,以在加载所述网页内容时加载所述压缩后的网页内容,从而提升了网页加载速度,解决了有些网页内容代码中的脚本信息无法压缩导致的网页加载速度慢的问题。

为了更清楚的理解本申请,下面将对提高网页加载速度的详细实现过程进行描述。

图3是本发明另一示例性实施例示出的提高网页加载速度的方法的流程示意图,本实施例提供的方法在图2所示实施例的基础上,对提高网页加载速度的详细实现过程进行描述。

如图3所示,本实施例提供的方法可以包括如下步骤。

S301,读取待加载的网页内容代码。

具体的,当用户通过显示终端选择需要打开的网页时,服务端生成相应的读取指令,并将读取指令发送至数据库,以读取相应的网页内容代码。

S302,根据预先配置的文件识别所述网页内容代码中的目标脚本信息,所述预先配置的文件中包含需要识别的脚本信息。

一些实施例中,需要先准备配置文件,在配置文件中定义需要处理的脚本信息,比如需要识别格式如的jsp脚本代码,则预先将该格式定义到配置文件中。

具体的,读取到网页内容代码后,根据配置文件,在网页内容代码中识别与配置文件中定义的脚本格式相匹配的脚本信息。

在一种可能的实施例中,根据配置文件使用正则表达式来识别网页内容代码中的目标脚本信息。

具体的,根据所述需要识别的脚本信息,确定相应的正则表达式,所述正则表达式包含网页类型和需要识别的脚本的格式信息;根据所述配置文件,使用正则表达式识别所述网页内容代码中与所述网页类型和所述格式信息相匹配的目标脚本信息。

示例性的,假设配置文件中定义了要识别格式如的JSP脚本代码,则确定正则表达式为://g,表达式中的jsp即表示网页类型为JSP,表示要识别jsp脚本代码。然后在网页内容代码中识别与该正则表达式格式类型匹配的脚本代码。

S303,将所述目标脚本信息替换成相应的替代信息,所述替代信息是可压缩信息。

具体的,对从网页内容代码中识别出来的目标脚本信息进行替换,替换成相应的替代信息,目标脚本信息是无法进行压缩的脚本信息,替换信息可以被压缩处理。

示例性的,假设识别出来的原JSP脚本信息为,则将该JSP脚本信息替换成:

____JSP__1001____

,替换信息中的“1001”为编号。

S304,记录替换日志,所述替换日志包括被替换的目标脚本信息和替换后的所述替代信息。

具体的,在每次替换完脚本信息之后,记录一个该次替换对应的替换日志,替换日志的格式包括被替换的目标脚本信息和替换后的所述替代信息。

示例性的,假设识别出来的原JSP脚本信息为,将该JSP脚本信息替换成:

____JSP__1001____

,则对应记录的替换日志为:

其中,origin表示替换之前的目标脚本信息,replace表示替换信息。

需要说明的是,网页内容代码中会包含大量的脚本信息,这些脚本信息是依次替换的,需要重复执行步骤S302和S303,知道网页内容代码中的所有脚本信息全部替换成相应的替代信息。进一步的,在依次替换网页内容代码中的每个脚本信息时,计数器都会生成相应的编号,每次替换脚本信息都对应唯一的编号,并将每次替换脚本信息对应的编号写入替代信息中,从而保证脚本代码的逻辑顺序不混乱。

比如,在替换网页内容代码中的第一个脚本信息时,计数器生成的编号为0001,相应的替换信息为

____JSP__0001____

,对应记录的替换日志则为:

然后计数器编号增加1,继续替换网页内容代码中的其他脚本信息,第二次替换的脚本信息为,则替换第二个脚本信息时的替换信息为:

____JSP__0002____

,替换之后记录的替换日志为:

第二次替换之后计数器再增加1,然后重复步骤S302和S303直至将网页内容代码中的所有脚本信息均替换成相应的替代信息。

S305,对替换之后的网页内容进行压缩处理,得到压缩后的网页内容。

具体的,将不能被压缩的目标脚本信息替换成可压缩的替代信息之后,替换之后的网页就相当于普通的超文本标记语言(Hyper Text Markup Language,HTML)页面,便可以使用html-minifier对全部替换之后的网页内容进行压缩处理,得到压缩后的网页内容。

S306,根据所述替换日志,对所述压缩后的网页内容进行还原操作,得到还原后的网页内容代码。

具体的,根据每次替换对应记录的替换日志,对压缩后的网页内容进行还原。

在一种可以的实施例中,可以根据所述替换日志中替代信息中的编号,在所述压缩后的网页内容中识别对应的替代信息;将所述替换日志中替代信息中的编号对应的替代信息,替换成所述替换日志中的目标脚本信息。

示例性的,假设替换日志为:

则在压缩后的的网页内容中识别格式如

____JSP__xxxx____

的代码,然后匹配编号为0001的代码,将编号为0001的替代信息

____JSP__0001____

替换成替换日志中的origin部分,即'。采用该方法根据所有替换日志将压缩后的网页内容中所有的替换信息在还原成原来的脚本代码。

S307,保存所述还原后的网页内容代码。

具体的,将还原后的网页内容代码保存至新文件,得到新的JSP代码。

本实施例中,通过提取网页内容代码中的关键脚本信息,完成逻辑页面转化为普通HTML页面,进行压缩,不仅解决了有些网页内容代码中的脚本信息无法压缩导致的网页加载速度慢的问题,并且,再对压缩后的网页进行逻辑还原,达到页面即可压缩又不影响逻辑的效果。

需要说明的是,本方案不仅适用于JSP类型的网页,还适用于PHP等脚本语言类网站。并且,使用配置文件来定义项目的特殊语法标签(比如JSP脚本代码格式),可以针对不同项目进行特殊优化,比如对于PHP脚本语言类网站,便可以预先在配置文件中定义PHP脚本代码,以将网页内容代码中的PHP脚本代码替换成相应的替代信息。

图4是本发明一示例性实施例示出的提高网页加载速度的装置的结构示意图。

如图4所示,本实施例提供的装置包括:读取模块401,识别模块402,替换模块403和压缩模块404;其中,读取模块401,用于读取待加载的网页内容代码;识别模块402,用于根据预先配置的文件识别所述网页内容代码中的目标脚本信息,所述预先配置的文件中包含需要识别的脚本信息;替换模块403,用于将所述目标脚本信息替换成相应的替代信息,所述替代信息是可压缩信息;压缩模块404,用于对替换之后的网页内容进行压缩处理,得到压缩后的网页内容,以在加载所述网页内容时加载所述压缩后的网页内容。

进一步的,本实施例提供的装置还包括:记录模块405,用于在所述将所述目标脚本信息替换成相应的替代信息之后,记录替换日志,所述替换日志包括被替换的目标脚本信息和替换后的所述替代信息。

进一步的,本实施例提供的装置还包括:还原模块406,用于根据所述替换日志,对所述压缩后的网页内容进行还原操作,得到还原后的网页内容代码。

进一步的,所述替代信息包含编号,所述目标脚本信息与所述编号为一一对应的关系;

所述还原模块具体用于:

根据所述替换日志中替代信息中的编号,在所述压缩后的网页内容中识别对应的替代信息;

将所述替换日志中替代信息中的编号对应的替代信息,替换成所述替换日志中的目标脚本信息。

进一步的,本实施例提供的装置还包括:保存模块407,用于保存所述还原后的网页内容代码。

进一步的,所述识别模块具体用于:

根据所述需要识别的脚本信息,确定相应的正则表达式,所述正则表达式包含网页类型和需要识别的脚本的格式信息;

根据所述配置文件,使用正则表达式识别所述网页内容代码中与所述网页类型和所述格式信息相匹配的目标脚本信息。

本实施例中提供的各个模块的具体功能实现可参考上述有关方法实施例中的详细描述。

图5为本发明实施例提供的计算机设备的硬件结构示意图。如图5所示,本实施例提供的计算机设备50包括:至少一个处理器501和存储器502。其中,处理器501、存储器502通过总线503连接。

在具体实现过程中,至少一个处理器501执行所述存储器502存储的计算机执行指令,使得至少一个处理器501执行上述方法实施例中的提高网页加载速度的方法。

处理器501的具体实现过程可参见上述方法实施例,其实现原理和技术效果类似,本实施例此处不再赘述。

在上述的图5所示的实施例中,应理解,处理器可以是中央处理单元(英文:Central Processing Unit,简称:CPU),还可以是其他通用处理器、数字信号处理器(英文:Digital Signal Processor,简称:DSP)、专用集成电路(英文:Application SpecificIntegrated Circuit,简称:ASIC)等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合发明所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。

存储器可能包含高速RAM存储器,也可能还包括非易失性存储NVM,例如至少一个磁盘存储器。

总线可以是工业标准体系结构(Industry Standard Architecture,ISA)总线、外部设备互连(Peripheral Component Interconnect,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,本申请附图中的总线并不限定仅有一根总线或一种类型的总线。

本申请的另一实施例提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机执行指令,当处理器执行所述计算机执行指令时,实现上述方法实施例中的提高网页加载速度的方法。

本申请的另一实施例提供一种计算机程序产品,包括计算机程序,所述计算机程序被处理器执行时实现本发明实施例第一方面所述的提高网页加载速度的方法。

上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。

一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路(Application Specific IntegratedCircuits,简称:ASIC)中。当然,处理器和可读存储介质也可以作为分立组件存在于设备中。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号