CN108804514A - 一种网页加载方法、服务器和网页加载系统 - Google Patents

一种网页加载方法、服务器和网页加载系统 Download PDF

Info

Publication number
CN108804514A
CN108804514A CN201810380713.3A CN201810380713A CN108804514A CN 108804514 A CN108804514 A CN 108804514A CN 201810380713 A CN201810380713 A CN 201810380713A CN 108804514 A CN108804514 A CN 108804514A
Authority
CN
China
Prior art keywords
loading
accelerated
resource
list
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810380713.3A
Other languages
English (en)
Inventor
韩天添
李琛
黄克伟
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wangsu Science and Technology Co Ltd
Original Assignee
Wangsu Science and Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wangsu Science and Technology Co Ltd filed Critical Wangsu Science and Technology Co Ltd
Priority to CN201810380713.3A priority Critical patent/CN108804514A/zh
Priority to EP18916420.5A priority patent/EP3757777A4/en
Priority to PCT/CN2018/087675 priority patent/WO2019205203A1/zh
Publication of CN108804514A publication Critical patent/CN108804514A/zh
Priority to US16/721,668 priority patent/US11263284B2/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/903Querying
    • G06F16/9035Filtering based on additional data, e.g. user or group profiles
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation
    • G06F40/154Tree transformation for tree-structured or markup documents, e.g. XSLT, XSL-FO or stylesheets
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45508Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation
    • G06F9/45512Command shells

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明实施例涉及互联网领域,公开了一种网页加载方法、服务器和网页加载系统。本发明中,一种网页加载方法,应用于内容分发网络的边缘服务器,包括:在接收到来自用户终端的页面加载请求时,根据加载请求获得对应页面的加载清单,加载清单中包括若干个待加载项;从待加载项中识别出待加速资源;根据预定的优化方案改写加载清单中的待加速资源;将改写后的加载清单反馈给用户终端,供用户终端请求加载清单上的各加载项以进行页面加载。本发明实施方式使得在优化网页加载的过程中,无需修改源站代码,减少网站拥有者的技术开发时间的同时,优化用户体验,且便于推广。

Description

一种网页加载方法、服务器和网页加载系统
技术领域
本发明实施例涉及互联网领域,特别涉及网页加载加速技术。
背景技术
脚本(Script)是批处理文件的延伸,是一种纯文本保存的程序,一般来说的计算机脚本程序是确定的一系列控制计算机进行运算操作动作的组合,在其中可以实现一定的逻辑分支等。一个页面中有多种元素,如HTML、JS(即JavaScript的缩写)、CSS(CascadingStyle Sheet,层叠样式表单)和图片等等。以JS脚本为例,JS脚本在浏览器的工作方式中,默认情况下遇到一段脚本时,浏览器需要停止并等待它执行完成,然后才能完成绘制页面,这意味着,文件是一个一个加载和执行,这将影响浏览器的执行时间,当页面架构不合理,JS脚本位置靠前时,JS加载速度会影响到网站的整体加载效果。
当JS脚本在执行时,页面的下载和渲染都必须停下来等待脚本执行完成。如果加载顺序不当,会导致阻塞大量元素请求,从而造成页面加载时间变长。对于请求加载顺序的优化,现有技术主要的方法是修改网站结构,调整加载顺序,从而提高页面展现给用户的速度。然而,发明人发现现有技术中至少存在如下问题:首先,修改网站构架的工作只能由被访问页面所述的权利人才能改变,而对于对这个网页进行访问的访问者来说,并没有权利对其进行修改。其次,网页上所具备的第三方JS文件是不可控的,更加无法被修改。
发明内容
本发明实施方式的目的在于提供一种网页加载方法、服务器和网页加载系统,使得在优化网页加载的过程中,无需修改源站代码,减少网站拥有者的技术开发时间的同时,优化用户体验,且便于推广。
为解决上述技术问题,本发明的实施方式提供了一种网页加载方法,应用于内容分发网络的边缘服务器,包括:在接收到来自用户终端的页面加载请求时,根据所述加载请求获得对应所述页面的加载清单,所述加载清单中包括若干个待加载项;从所述待加载项中识别出待加速资源;根据预定的优化方案改写所述加载清单中的所述待加速资源;将改写后的加载清单反馈给所述用户终端,供所述用户终端请求所述加载清单上的各加载项以进行页面加载。
本发明的实施方式还提供了一种服务器,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述的网页加载方法。
本发明的实施方式还提供了一种页面加载系统,包括:用户终端和上述的服务器。
本发明的实施方式还提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时实现上述的网页加载方法。
本发明实施方式相对于现有技术而言,主要区别及其效果在于:内容分发网络的边缘服务器通过改变反馈给用户终端的加载清单,由用户终端根据改写后的加载清单请求各加载项,对加载项的加载方式进行优化,从而尽快获得可显示的加载项,如图片文字等,使页面尽快脱离白屏,让用户可以尽快看到所访问的页面,提升用户的网站访问体验。另外,由于本发明实施方式由内容分发网络实施,创新地改进了行内既定的网站优化模式,既不需要改变用户终端的配置,也不需要改变源站的代码,又不需要改变需访问页面源站的网站构架,兼容性好,可以减少网站拥有者的技术开发时间,给用户终端侧提供更优质的上网体验,便于本发明实施方式的推广。并且,本发明实施方式中的服务器可以是在CDN(Content Delivery Network,即内容分发网络)架构下的边缘服务器,因此云厂商可以基于网络环境、如终端加载情况,更有效地自动智能优化加载方式。
作为进一步改进,预定的优化方案可以至少包括以下之一:异步改写方案、加速改写方案和屏蔽改写方案。限定优化方案有多种可选,实现待加速资源被更好地优化。
作为进一步改进,所述根据预定的优化方案改写所述加载清单中的所述待加速资源中,所述预定的优化方案由预设策略确定;其中,所述预设策略为:若所述待加速资源为符合第一预设条件的脚本文件,则对应的优化方案为异步改写方案;若所述待加速资源属于第三方外部链接,则对应的优化方案为加速改写方案;若所述待加速资源属于预设的黑名单,则对应的优化方案为屏蔽改写方案。进一步限定存在预设策略,可见有多种优化方案可以根据需要进行单独或组合地实施,对不同的待加速资源可以根据需要配置更为合适的优化方案。
作为进一步改进,通过域名识别的方式确定所述待加速资源属于第三方外部链接。进一步限定第三方外链的识别方式,使得待加速资源的识别更为准确,确定的优化方案更为合适。
作为进一步改进,所述预设策略由客户配置。进一步限定预设策略可以由客户配置,便于用于根据实际需求调整预设策略,使得策略更符合客户的需求。
作为进一步改进,所述加载清单中包括各所述加载项的加载顺序;所述预定的优化方案改写所述加载清单中的所述待加速资源,具体包括:所述预定的优化方案为异步改写方案时,改写所述加载清单中符合第一预设条件的脚本文件的加载顺序。进一步限定在异步改写方案中,改写的是脚本文件的加载顺序,进一步加速用户浏览器侧脱离白屏状态。
作为进一步改进,所述改写加载清单中符合第一预设条件的脚本文件的加载顺序,具体为:通过修改所述符合第一预设条件的脚本文件的类型标签,改写加载清单中符合第一预设条件的脚本文件的加载顺序。进一步限定通过修改脚本文件的类型标签改写加载顺序,便于实现,简单不易出错。
作为进一步改进,所述根据所确定的优化方案改写所述加载清单的所述待加速资源,具体包括:在所述优化方案为加速改写方案时,在所述待加速资源对应的请求地址的特定位置添加标识信息;所述将改写后的加载清单反馈给所述用户终端之后,还包括:接收来自所述用户终端针对各所述加载项的加载请求,向目标站点发出所述加载请求;其中,若接收到的加载请求中包含所述标识信息,则利用优选网络节点的方式为包含所述标识信息的待加速资源发出所述加载请求。进一步限定在加速改写方案中,通过添加标识信息的方式进行改写,在后续请求该加载项时,利用优选网络节点的方式向目标站点发出所述加载请求,加快加载项的加载速度,进一步加快网页的访问速度。
作为进一步改进,所述根据所确定的优化方案改写所述加载清单的所述待加速资源,具体包括:在所述优化方案为屏蔽改写方案时,在所述待加速资源对应的请求地址的特定位置添加停止标识;所述将改写后的加载清单反馈给所述用户终端之后,还包括:接收来自所述用户终端针对各所述加载项的加载请求,向目标站点发出所述加载请求;其中,若接收到的加载请求中包含所述停止标识,则返回针对包含所述停止标识的待加速资源的停止加载指令。进一步限定在屏蔽改写方案中,对加载项添加停止标识,从而当后续请求加载该加载项时,可以直接返回停止指令,跳过该加载项的加载,避免没有必要的时间浪费,也就加快了页面的加载速度。
作为进一步改进,还包括:在所述根据加载请求获得对应所述页面的加载清单时,本地保存所述加载清单。进一步限定在请求到加载清单后,本地备份,使得后续再次请求时,可以无需再从源站获取,加快清单的请求速度,从而加快整个页面加载过程。
作为进一步改进,从待加载项中识别出待加速资源之前,还包括:判断是否采用优化服务,并在判定为是时,执行所述从待加载项中识别出待加速资源。进一步限定整个页面加载的优化过程有进入判定,只在判定为需要优化时才进入,使得本发明实施方式更符合实际情况。
附图说明
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是根据本发明第一实施方式中的网页加载方法流程图;
图2是根据本发明第二实施方式中的网页加载方法流程图;
图3是根据本发明第三实施方式中的服务器的结构示意图;
图4是根据本发明第四实施方式中的网页加载系统的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
本发明的第一实施方式涉及一种网页加载方法。
本实施方式可以应用于一种服务器,具体可以为CDN架构(如加速云平台)下的边缘服务器。关于现有的分布式计算机系统,是由服务提供商操作和管理的“内容传送网络”或“CDN”。服务提供商通常代表使用服务提供商基础设施的第三方(如客户)提供内容交付服务。这种类型的分布式系统通常是指由一个或多个网络链接的自主计算机集合,以及为便于各种服务而设计的软件、系统、协议和技术,诸如内容传递、Web应用加速或其他支持外包的原产地基础设施。CDN服务提供商通常通过数字属性(例如网站)来提供服务交付,其在客户门户中供应,然后部署到网络。数字资产通常绑定到一个或多个边缘配置,以允许服务提供商对流量进行计费并为其客户计费。如上的覆盖网络可以与前端优化(FEO)方案结合或互操作。FEO是通过修改HTML和其上的资源来加速网页的过程。目标是消除使用覆盖的网站前端的瓶颈和低效率。在FEO中,有许多特定的优化可以使用,他们的目标是做以下一项或多项:减少加载页面所需的HTTP请求数量,而不是在一个请求中下载更多的数据;通过使用更有效的格式来减小网页及其部分的总大小,提高缓存能力并去除不必要的内容;并通过使浏览器以不同的顺序或时间加载项来加速呈现,例如防止第三方脚本延迟页面上的所有其他事件。
具体的说,在已知的覆盖网络系统中,分布式计算机系统被配置为CDN并且假定具有分布在因特网周围的一组机器1^2a-n。通常,大多数机器是位于互联网边缘附近的服务器,即位于最终用户接入网络处或邻近最终用户接入网络。网络操作命令中心(networkoperations command center,简称“NOCC”)管理系统中各种机器的操作。诸如网站之类的第三方站点将分派的内容(例如,HTML、嵌入式页面对象、流媒体和软件下载等)卸载到分布式计算机系统,特别是“边缘”服务器。通常,内容提供商通过将给定内容提供商域或子域的别名(例如,通过DNS CNAME)到由服务提供商的权威性域名服务管理的域来卸载其内容传送。希望内容的最终用户被引导到分布式计算机系统以更可靠和有效地获得内容。虽然没有详细示出,但是分布式计算机系统还可以包括其他基础设施,诸如从边缘服务器收集使用量和其他数据的分布式数据收集系统,在一个区域或一组区域上聚合该数据,并将该数据到其他后端系统以促进监视、记录、警报、计费、管理和其他操作和管理功能。
本实施方式中网页加载方法的流程如图1所示,具体如下:
步骤101,根据加载请求获得对应页面的加载清单。
具体的说,本步骤在接收到来自用户终端的页面加载请求时,根据加载请求获得对应页面的加载清单。更具体的说,网页加载请求可以是在用户通过浏览器进行网页加载时发出,也可以是在查看应用程序(即“APP”)的某一页面时发出的。
需要说明的说,加载清单(即HTML文档)中包括页面的加载项和各加载项的加载顺序。同时,加载清单可能预存于服务器本地,即使网页所属服务器实际位置较远,也可以预先镜像至本地,那么在接收到网页加载请求时,就可以直接将预存的加载清单反馈至用户终端,继而由用户浏览器进行后续操作。实际应用中,需访问的页面对应的加载清单也可能并未预存于本地,那么服务器也可以向网页所属的源站请求,请求到后反馈给用户终端。另外,在获得加载清单时,增加本地保存步骤,本地保存上述加载清单。
关于边缘服务器针对来自用户终端的请求的处理,以下根据实际应用中的实现方式具体描述,覆盖网络的客户(如用户终端)被提供使用客户门户CDN边缘服务器提供指示FEO应适用于客户的现场(或其一些部分)配置数据使用FEO服务。然后在边缘服务器处接收到第一个用户请求(即页面的加载请求)。边缘服务器GHost(全局主机)进程应用其配置数据并确定此请求应使用FEO。然后,它在FEO配置缓存中查找这个数字财产的标准化信息。在一个实施例中,全局主机进程使用RESTful请求与FEO网络通信,并且数据被交换到API(诸如Google协议缓冲器)。API通过对该数字财产进行数据库查找来对归一化请求做出响应并返回该信息。对RESTful请求的响应被缓存。然后,在边缘服务器全局主机进程接收第二个用户请求,然后应用配置并确定这个请求应该使用FEO。全球主机进程然后查找这个客户的规范化信息,这个信息现在出现了。
步骤102,判断是否采用优化服务;若是,则继续执行步骤103;若否,则执行步骤106。
具体的说,根据URL判断是否采用优化服务,其中的URL指的是页面加载请求中的请求地址。实际应用中,可以利用本步骤确定客户是否购买优化服务,若购买,则执行后续的优化流程,若未购买,则不执行后续的改写步骤,直接将加载清单反馈给用户终端。
步骤103,从待加载项中识别出待加速资源。
具体的说,待加速资源可以是JS脚本,进一步说,可以是第三方JS脚本,再进一步说,可以是外部链接。实际应用中,识别的条件可以由客户设定,在此不做限定。
更具体的说,用户终端在执行过程中,是通过<script>标签来确定是否是脚本,如JS脚本,本步骤可以具体根据src标签判断是否为JS脚本,是否为外部链接等。
因为JS在执行的时候会影响到页面的DOM和样式等情况。用户浏览器在解析渲染HTML的时候,如果解析到需要下载文件的script标签,那么会停止解析接下来的HTML,然后下载外链JS文件并执行。等JS执行完毕之后才会继续解析剩下的HTML,这就是所谓的“JS阻塞”。
步骤104,根据预定的优化方案改写加载清单中的待加速资源。
具体的说,预定的优化方案至少包括以下之一:异步改写方案、加速改写方案和屏蔽改写方案。更具体的说,根据预定的优化方案改写加载清单中的待加速资源中,预定的优化方案由预设策略确定。其中,预设策略中可以指定各个待加速资源均采用某一种优化方案,也可以针对不同的待加速资源指定不同的优化方案。另外,实际应用中除了上述三种优化方案外,还可以根据需要增加其他优化方案,在此不对优化方案的数量和内容做限定。
步骤105,将改写后的加载清单反馈给用户终端。
具体的说,反馈给用户的加载清单可以供用户终端请求加载清单上的各加载项以进行页面加载,实际应用中,加载清单中携带各加载项的请求地址,所以用户终端可以直接向源站请求各加载项。更具体的说,用户终端无需获知接收到的加载清单是否被改写,仍然按照接收到的加载清单中所列的各加载项及其加载顺序进行逐个请求。之后继续执行步骤107。
步骤106,将加载清单反馈给用户终端。
具体的说,本步骤是直接将步骤101中获取到的加载清单反馈给用户终端,对加载清单并不进行改写,本步骤和步骤102结合,可以实现在无需采用优化服务时,完成加载清单的反馈。之后继续执行步骤107。
步骤107,接收来自用户终端针对各加载项的加载请求。
具体的说,用户终端在收到加载清单后,会根据加载顺序对清单中的各加载项进行逐个请求,由于加载清单中存有各加载项的请求地址,所以各加载请求中也携带请求地址。
步骤108,向目标站点发出加载请求。
具体的说,服务器向目标站点发出加载请求,其中的目标站点即待访问网页所属的源站。需要说明的是,服务器可以直接向目标站点转发接收到的加载请求,也可以利用优选网络节点的方式向目标站点发出加载请求。其中,通过监听到的IP和端口信息确定源站的IP和端口,再通过智能边路装置确定用户终端与源站之间的最优路径。
本实施方式与现有技术相比,主要区别及其效果在于:内容分发网络的边缘服务器通过改变反馈给用户终端的加载清单,由用户终端根据改写后的加载清单请求各加载项,对加载项的加载方式进行优化,从而尽快获得可显示的加载项,如图片文字等,使页面尽快脱离白屏,让用户可以尽快看到所访问的页面,提升用户的网站访问体验。另外,由于本发明实施方式由内容分发网络实施,创新地改进了行内既定的网站优化模式,既不需要改变用户终端的配置,也不需要改变源站的代码,又不需要改变需访问页面源站的网站构架,兼容性好,可以减少网站拥有者的技术开发时间,给用户终端侧提供更优质的上网体验,便于本实施方式的推广。并且,本发明实施方式中的服务器可以是在CDN(ContentDelivery Network,即内容分发网络)架构下的边缘服务器,因此云厂商可以基于网络环境、如终端加载情况,更有效地自动智能优化加载方式。
本发明的第二实施方式涉及一种网页加载方法。第二实施方式是在第一实施方式的基础上做了进一步改进,主要改进之处在于:本发明第二实施方式中增加了预设的策略,利用预设策略为各待加速资源确定优化方案,实现对各待加速资源的自动识别,根据需要为其配置更为合适的优化方案。
本实施方式中的网页加载方法如图2所示,具体如下:
步骤201和203和第一实施方式中的步骤101和103相类似,在此不再赘述。
步骤202,判断是否采用优化服务;若是,则继续执行步骤203;若否,则执行步骤209。
具体的说,本步骤中的判断方式和第一实施方式中的步骤102相类似,在此不再赘述。
步骤204,根据预设策略确定待加速资源对应的哪种优化方案;若确定为异步改写方案,则执行步骤205;若确定为加速改写方案,则执行步骤206;若确定为屏蔽改写方案,则执行步骤207。
具体的说,本步骤中的预设策略具体包括以下三条:
(1)若待加速资源为符合第一预设条件的脚本文件,则对应的优化方案为异步改写方案;其中,第一预设条件可以是JS脚本,进一步说,可以是第三方JS脚本,再进一步说,可以是外部链接。
(2)若待加速资源属于第三方外部链接,则对应的优化方案为加速改写方案。具体可以通过域名识别的方式确定待加速资源属于第三方外部链接,更具体的说,所述第三方外部链接为不属于客户的链接。
(3)若待加速资源属于预设的黑名单,则对应的优化方案为屏蔽改写方案。其中,黑名单可以包括防火墙所屏蔽的加载项,由于一些国家层面的政策影响,部分加载项客观无法被加载,所以可以采用屏蔽改写方案进行优化,避免无谓的加载尝试。
值得一提的是,虽然本实施方式中的策略设定,每个待加速资源仅针对一种优化方案,但实际应用中可以设定为:如果某加速资源符合上述条件中的多个,则可以叠加多种优化方案。可见,预设策略可以由客户自行配置,在此不做限定。
步骤205,改写加载清单中符合第一预设条件的脚本文件的加载顺序。
具体的说,由于脚本文件的下载会阻碍其他加载项的下载,尤其是不可控的第三方JS脚本文件,如果JS脚本的位置不合理,而且脚本文件未下载完成前,将无法进行绘图显示等步骤,待访问页面将持续处于白屏状态。
本实施方式具体通过修改符合第一预设条件的脚本文件的类型标签,改写加载清单中符合预设条件的脚本文件的加载顺序。进一步说,修改类型标签可以通过插入一段脚本,而该脚本文件对应的功能可以是改写加载清单中脚本文件的类型标签。符合第一预设条件的脚本文件可以是JS脚本。
需要说明的是,本申请发明人发现,脚本执行过程中,会让页面等待脚本的解析和执行,无论当前的Javascript是内嵌的还是包含了外链文件,页面的下载和渲染都必须停下来等待脚本执行完成。也就是说,如果通过DOM(Document Object Model,文档对象模型)树,动态创建script元素并插入HTML文档末尾,就可以改变JS脚本文件被加载的次序,也就是说,在加载清单的加载顺序中,JS脚本的顺序被改至最后。
还需要说明的是,上述提到的修改脚本文件的类型标签,实际应用中可以具体利用插入一段脚本文件实现,当这个脚本文件被执行时,先改写特定的script标签,那么用户终端在执行时,就会忽略该部分脚本文件,然后当其他加载项都被加载完成后,则重新执行刚才被忽略的脚本文件。
本申请发明人在实际应用中进行了效果测试,测试结果为大部分网站都有提升首屏加载时间,且首屏加速提升50%以上。
步骤206,在待加速资源对应的请求地址的特定位置添加标识信息。
具体的说,第三方外部链接是指由其他服务提供商提供的(内容开发者不可控),他们将自己的服务包装成JS SDK供网页开发者使用。
从网站开发者的角度来看,第三方JS相比第一方JS有如下几个不同之处:
1.下载速度不可控;
2.JS地址域名与网站域名不同;
3.文件内容不可控;
4.不一定有强缓存(Cache-Control/Expires)。
如果网站上面有很多第三方JS代码,那么“下载速度的不可控”很有可能导致你的网站会被拖慢。
具体的说,标识信息可以是客户的客户名或域名等信息,也可以是特定的标识号等,标识信息的内容可以根据实际需求设定,在此不做限定,特定位置在实际应用中可以是请求地址(URL)的尾部。
步骤207,在待加速资源对应的请求地址的特定位置添加停止标识。
具体的说,停止标识可以是预定的标记,添加位置可以具体在请求地址(URL)的尾部,实际应用中,停止标识的形式和特定位置可以根据实际需求设定,所以在此不做限定。
值得一提的是,本步骤中添加停止标识的特定位置和步骤206中添加标识信息的特定位置可以相同,也可以不相同,在此不再一一列举。
上述步骤205、步骤206和步骤207是对加载清单的具体改写方法,完成之后均继续执行步骤208。由于步骤208至210与第一实施方式中的步骤105至107相类似,在此不再一一列举。同时需指出,步骤208和209执行完成之后,均继续执行步骤210。
步骤211,向目标站点发出加载请求。
具体的说,在步骤210收到加载请求时,可能同时收到多个或一组加载请求,在发出加载请求之前,需要对其进行分析。
具体可以进行如下分析:如果存在标识信息,那么加载请求可以通过优选网络节点的方式为包含标识信息的待加速资源发出加载请求。可见,通过这种方式可以使得第三方外链得以加速。如果存在停止标识,则向用户终端返回针对包含停止标识的待加速资源的停止加载指令,避免用户终端对该资源再行加载。实际应用中,也可以直接返回“403”。也就是说,针对防火墙屏蔽的URL直接返回“403”。之后,向目标站点(如源站服务器)发出各加载请求。
可见,本实施方式进一步限定存在预设策略,可见有多种优化方案可以根据需要进行单独或组合地实施,对不同的待加速资源可以根据需要配置更为合适的优化方案。同时,还可以实现对各待加速资源的自动识别,减少人力。另外,本实施方式中进一步细化了三种优化方案的实施过程,从对加载清单的不同改写方式,到后续对加载项的请求,使得本实施方式方案清楚,效果明显,简便易行,利于推广。
本发明第三实施方式涉及一种服务器,如图3所示,包括:
至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使至少一个处理器能够执行如第一实施方式至第四实施方式中任一个网页加载方法。其中,存储器和处理器采用总线方式连接,总线可以包括任意数量的互联的总线和桥,总线将一个或多个处理器和存储器的各种电路连接在一起。总线还可以将诸如外围设备、稳压器和功率管理电路等之类的各种其他电路连接在一起,这些都是本领域所公知的,因此,本文不再对其进行进一步描述。总线接口在总线和收发机之间提供接口。收发机可以是一个元件,也可以是多个元件,比如多个接收器和发送器,提供用于在传输介质上与各种其他装置通信的单元。经处理器处理的数据通过天线在无线介质上进行传输,进一步,天线还接收数据并将数据传送给处理器。
处理器负责管理总线和通常的处理,还可以提供各种功能,包括定时,外围接口,电压调节、电源管理以及其他控制功能。而存储器可以被用于存储处理器在执行操作时所使用的数据。
本发明第四实施方式涉及一种网页加载系统,如图4所示,具体包括:用户终端和如第五实施方式中提到的服务器,其中的服务器可以是CDN架构下的边缘服务器。实际应用中,本实施方式中的网页加载系统还可以包括待加载网页所属的源站服务器。
本发明第五实施方式涉及一种计算机可读存储介质,存储有计算机程序。计算机程序被处理器执行时实现上述方法实施例。
即,本领域技术人员可以理解,实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得一个设备(可以是单片机,芯片等)或处理器(processor)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

Claims (16)

1.一种网页加载方法,其特征在于,应用于内容分发网络的边缘服务器,包括:
在接收到来自用户终端的页面加载请求时,根据所述加载请求获得对应所述页面的加载清单,所述加载清单中包括若干个待加载项;
从所述待加载项中识别出待加速资源;
根据预定的优化方案改写所述加载清单中的所述待加速资源;
将改写后的加载清单反馈给所述用户终端,供所述用户终端请求所述加载清单上的各加载项以进行页面加载。
2.根据权利要求1所述的网页加载方法,其特征在于,所述预定的优化方案至少包括以下之一:异步改写方案、加速改写方案和屏蔽改写方案。
3.根据权利要求2所述的网页加载方法,其特征在于,所述根据预定的优化方案改写所述加载清单中的所述待加速资源中,所述预定的优化方案由预设策略确定;
其中,所述预设策略为:
若所述待加速资源为符合第一预设条件的脚本文件,则对应的优化方案为异步改写方案;
若所述待加速资源属于第三方外部链接,则对应的优化方案为加速改写方案,其中,所述第三方外部链接为不属于客户的链接;
若所述待加速资源属于预设的黑名单,则对应的优化方案为屏蔽改写方案。
4.根据权利要求3所述的网页加载方法,其特征在于,通过域名识别的方式确定所述待加速资源属于所述第三方外部链接。
5.根据权利要求3所述的网页加载方法,其特征在于,所述预设策略由客户配置。
6.根据权利要求2所述的网页加载方法,其特征在于,所述加载清单中包括各所述加载项的加载顺序;
所述预定的优化方案改写所述加载清单中的所述待加速资源,具体包括:
所述预定的优化方案为异步改写方案时,改写所述加载清单中符合所述第一预设条件的脚本文件的加载顺序。
7.根据权利要求6所述的网页加载方法,其特征在于,所述改写加载清单中符合所述第一预设条件的脚本文件的加载顺序,具体为:通过修改所述符合第一预设条件的脚本文件的类型标签,改写所述加载清单中符合所述第一预设条件的脚本文件的加载顺序。
8.根据权利要求2所述的网页加载方法,其特征在于,所述根据所确定的优化方案改写所述加载清单的所述待加速资源,具体包括:
在所述优化方案为加速改写方案时,在所述待加速资源对应的请求地址的特定位置添加标识信息;
所述将改写后的加载清单反馈给所述用户终端之后,还包括:
接收来自所述用户终端针对各所述加载项的加载请求,向目标站点发出所述加载请求;其中,若接收到的加载请求中包含所述标识信息,则利用优选网络节点的方式为包含所述标识信息的待加速资源发出所述加载请求。
9.根据权利要求8所述的网页加载方法,其特征在于,所述标识信息为客户标识信息。
10.根据权利要求2所述的网页加载方法,其特征在于,所述根据所确定的优化方案改写所述加载清单的所述待加速资源,具体包括:
在所述优化方案为屏蔽改写方案时,在所述待加速资源对应的请求地址的特定位置添加停止标识;
所述将改写后的加载清单反馈给所述用户终端之后,还包括:
接收来自所述用户终端针对各所述加载项的加载请求,向目标站点发出所述加载请求;其中,若接收到的加载请求中包含所述停止标识,则返回针对包含所述停止标识的待加速资源的停止加载指令。
11.根据权利要求1所述的网页加载方法,其特征在于,还包括:在所述根据加载请求获得对应所述页面的加载清单时,本地保存所述加载清单。
12.根据权利要求1所述的网页加载方法,其特征在于,所述从待加载项中识别出待加速资源之前,还包括:
判断是否采用优化服务,并在判定为是时,执行所述从待加载项中识别出待加速资源的步骤。
13.根据权利要求11所述的网页加载方法,其特征在于,根据所述页面加载请求中的请求地址,判断是否采用所述优化服务。
14.一种服务器,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如权利要求1至13中任一所述的网页加载方法。
15.一种网页加载系统,其特征在于,包括:用户终端和如权利要求14所述的服务器。
16.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至13中任一项所述的网页加载方法。
CN201810380713.3A 2018-04-25 2018-04-25 一种网页加载方法、服务器和网页加载系统 Pending CN108804514A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN201810380713.3A CN108804514A (zh) 2018-04-25 2018-04-25 一种网页加载方法、服务器和网页加载系统
EP18916420.5A EP3757777A4 (en) 2018-04-25 2018-05-21 WEB PAGE LOADING PROCEDURE, SERVER AND WEBSITE LOADING SYSTEM
PCT/CN2018/087675 WO2019205203A1 (zh) 2018-04-25 2018-05-21 一种网页加载方法、服务器和网页加载系统
US16/721,668 US11263284B2 (en) 2018-04-25 2019-12-19 Method and system for loading web page, and server

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810380713.3A CN108804514A (zh) 2018-04-25 2018-04-25 一种网页加载方法、服务器和网页加载系统

Publications (1)

Publication Number Publication Date
CN108804514A true CN108804514A (zh) 2018-11-13

Family

ID=64093910

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810380713.3A Pending CN108804514A (zh) 2018-04-25 2018-04-25 一种网页加载方法、服务器和网页加载系统

Country Status (4)

Country Link
US (1) US11263284B2 (zh)
EP (1) EP3757777A4 (zh)
CN (1) CN108804514A (zh)
WO (1) WO2019205203A1 (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020124724A1 (zh) * 2018-12-18 2020-06-25 网宿科技股份有限公司 资源描述文件的处理、页面资源的获取方法及设备
WO2020124723A1 (zh) * 2018-12-18 2020-06-25 网宿科技股份有限公司 资源描述文件的处理、页面资源的获取方法及中间服务器
CN111478933A (zh) * 2019-01-24 2020-07-31 北京沃东天骏信息技术有限公司 应用集群数据预加载方法、装置、存储介质、设备及系统
CN111625743A (zh) * 2020-05-21 2020-09-04 广州华多网络科技有限公司 资源加载方法、装置及电子设备
CN111686448A (zh) * 2019-03-13 2020-09-22 上海波克城市网络科技股份有限公司 游戏脚本的运行控制方法及装置、存储介质、服务器
CN111736926A (zh) * 2020-05-29 2020-10-02 北京慧博科技有限公司 在Java Web程序中低侵入式使用CDN加速服务的方法以及系统
CN112019791A (zh) * 2019-05-30 2020-12-01 广州云积软件技术有限公司 基于教育考试的多方音视频通话方法及系统
CN113836456A (zh) * 2021-09-23 2021-12-24 桂林长海发展有限责任公司 一种对web前端网页进行性能优化的方法、装置和存储介质

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111881391B (zh) * 2020-06-12 2022-03-22 马上消费金融股份有限公司 静态网络资源预加载的方法、数据模型训练的方法及装置
CN112035186B (zh) * 2020-09-02 2023-10-13 湖北华中电力科技开发有限责任公司 H5页面的预加载及跳转方法、装置、设备及介质
CN112965756B (zh) * 2021-01-21 2023-09-26 北京达佳互联信息技术有限公司 页面资源加载量的监测方法、装置、电子设备及存储介质
US11729023B2 (en) 2021-04-29 2023-08-15 Bank Of America Corporation Artificial intelligence integration of third-party software into large-scale digital platforms

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447938B1 (en) * 2003-04-24 2008-11-04 Network Appliance, Inc. System and method for reducing unrecoverable media errors in a disk subsystem
CN101763357A (zh) * 2008-11-13 2010-06-30 北京搜狗科技发展有限公司 一种用于浏览器加载互联网资源的方法及系统
US20120066586A1 (en) * 2010-09-07 2012-03-15 Yaniv Shemesh Systems and methods for accelerating web page loading
CN102932358A (zh) * 2012-11-07 2013-02-13 网宿科技股份有限公司 基于内容分发网络的第三方文件改写加速分发方法和装置
CN103336702A (zh) * 2013-06-29 2013-10-02 广州市动景计算机科技有限公司 网页加载加速方法及装置
CN103561068A (zh) * 2013-10-25 2014-02-05 星云融创(北京)信息技术有限公司 一种提高网页浏览速度的方法及装置
CN103970770A (zh) * 2013-01-29 2014-08-06 腾讯科技(深圳)有限公司 一种网页优化处理方法、装置及客户端
CN105593840A (zh) * 2013-09-25 2016-05-18 阿卡麦科技公司 使用前端优化(feo)配置的关键资源预取
CN105701113A (zh) * 2014-11-27 2016-06-22 国际商业机器公司 用于优化网页预加载的方法和设备
CN107545058A (zh) * 2017-08-29 2018-01-05 北京北信源软件股份有限公司 一种页面加载方法、服务器及浏览器

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447738B1 (en) * 1997-03-14 2008-11-04 International Business Machines Corporation Component download selection mechanism for web browsers
US6085193A (en) * 1997-09-29 2000-07-04 International Business Machines Corporation Method and system for dynamically prefetching information via a server hierarchy
US6330561B1 (en) * 1998-06-26 2001-12-11 At&T Corp. Method and apparatus for improving end to end performance of a data network
US7475404B2 (en) * 2000-05-18 2009-01-06 Maquis Techtrix Llc System and method for implementing click-through for browser executed software including ad proxy and proxy cookie caching
US7269157B2 (en) * 2001-04-10 2007-09-11 Internap Network Services Corporation System and method to assure network service levels with intelligent routing
US8285808B1 (en) * 2011-05-20 2012-10-09 Cloudflare, Inc. Loading of web resources
CN102722563B (zh) * 2012-05-31 2014-12-03 优视科技有限公司 页面显示方法及装置
US10984175B2 (en) * 2013-08-09 2021-04-20 Yottaa Inc. Systems and methods for dynamically modifying a requested web page from a server for presentation at a client
US9607322B1 (en) * 2013-09-19 2017-03-28 Amazon Technologies, Inc. Conditional promotion in content delivery
CN105045645B (zh) * 2015-09-22 2016-08-17 广州神马移动信息科技有限公司 网页加载方法、装置及系统
CN107402937B (zh) 2016-05-20 2021-01-05 北京搜狗科技发展有限公司 一种搜索方法、装置及电子设备
CN107402938B (zh) * 2016-05-22 2021-07-13 阿里巴巴(中国)有限公司 页面展示方法、装置和客户端设备
US10726092B2 (en) * 2018-07-09 2020-07-28 ShimmerCat AB Method of improving web page loading time using scannable indicia

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7447938B1 (en) * 2003-04-24 2008-11-04 Network Appliance, Inc. System and method for reducing unrecoverable media errors in a disk subsystem
CN101763357A (zh) * 2008-11-13 2010-06-30 北京搜狗科技发展有限公司 一种用于浏览器加载互联网资源的方法及系统
US20120066586A1 (en) * 2010-09-07 2012-03-15 Yaniv Shemesh Systems and methods for accelerating web page loading
CN102932358A (zh) * 2012-11-07 2013-02-13 网宿科技股份有限公司 基于内容分发网络的第三方文件改写加速分发方法和装置
CN103970770A (zh) * 2013-01-29 2014-08-06 腾讯科技(深圳)有限公司 一种网页优化处理方法、装置及客户端
CN103336702A (zh) * 2013-06-29 2013-10-02 广州市动景计算机科技有限公司 网页加载加速方法及装置
CN105593840A (zh) * 2013-09-25 2016-05-18 阿卡麦科技公司 使用前端优化(feo)配置的关键资源预取
CN103561068A (zh) * 2013-10-25 2014-02-05 星云融创(北京)信息技术有限公司 一种提高网页浏览速度的方法及装置
CN105701113A (zh) * 2014-11-27 2016-06-22 国际商业机器公司 用于优化网页预加载的方法和设备
CN107545058A (zh) * 2017-08-29 2018-01-05 北京北信源软件股份有限公司 一种页面加载方法、服务器及浏览器

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020124724A1 (zh) * 2018-12-18 2020-06-25 网宿科技股份有限公司 资源描述文件的处理、页面资源的获取方法及设备
WO2020124723A1 (zh) * 2018-12-18 2020-06-25 网宿科技股份有限公司 资源描述文件的处理、页面资源的获取方法及中间服务器
EP3896939A4 (en) * 2018-12-18 2022-04-20 Wangsu Science & Technology Co., Ltd. RESOURCE DESCRIPTION FILE PROCESSING AND PAGE RESOURCE OBTAINING METHOD, AND INTERMEDIATE SERVER
EP3896940A4 (en) * 2018-12-18 2022-05-18 Wangsu Science & Technology Co., Ltd. PROCESSING OF RESOURCE DESCRIPTION FILES AND METHOD AND DEVICE FOR OBTAINING SITE RESOURCES
US12013815B2 (en) 2018-12-18 2024-06-18 Wangsu Science & Technology Co., Ltd. Method for processing resource description file, page resource acquisition method, and intermediate server
CN111478933A (zh) * 2019-01-24 2020-07-31 北京沃东天骏信息技术有限公司 应用集群数据预加载方法、装置、存储介质、设备及系统
CN111686448A (zh) * 2019-03-13 2020-09-22 上海波克城市网络科技股份有限公司 游戏脚本的运行控制方法及装置、存储介质、服务器
CN112019791A (zh) * 2019-05-30 2020-12-01 广州云积软件技术有限公司 基于教育考试的多方音视频通话方法及系统
CN111625743A (zh) * 2020-05-21 2020-09-04 广州华多网络科技有限公司 资源加载方法、装置及电子设备
CN111736926A (zh) * 2020-05-29 2020-10-02 北京慧博科技有限公司 在Java Web程序中低侵入式使用CDN加速服务的方法以及系统
CN113836456A (zh) * 2021-09-23 2021-12-24 桂林长海发展有限责任公司 一种对web前端网页进行性能优化的方法、装置和存储介质

Also Published As

Publication number Publication date
EP3757777A4 (en) 2021-01-27
WO2019205203A1 (zh) 2019-10-31
EP3757777A1 (en) 2020-12-30
US20200125623A1 (en) 2020-04-23
US11263284B2 (en) 2022-03-01

Similar Documents

Publication Publication Date Title
CN108804514A (zh) 一种网页加载方法、服务器和网页加载系统
CN104468817B (zh) 通过cdn下载资源的实现方法和装置、服务器、客户端
US10042948B2 (en) Identifying correlated components of dynamic content
US9819721B2 (en) Dynamically populated manifests and manifest-based prefetching
CN108932277B (zh) 一种网页加载方法、网页加载系统和服务器
US10091289B2 (en) Provisional execution of dynamic content component
CN108804515B (zh) 一种网页加载方法、网页加载系统和服务器
US8910132B2 (en) Client-side script bundle management system
CN103024044B (zh) 网页下载方法及装置
KR20120083903A (ko) 더 빠르고 더 효율적인 데이터 통신을 제공하는 시스템 및 방법
CN105743945B (zh) 基于切换下载源的文件下载方法及系统
CN102067094A (zh) 高速缓存优化
CN103763340A (zh) 一种Web访问优化的装置和方法
US10148735B1 (en) Application layer load balancer
US20190068742A1 (en) Reducing bandwidth consumption and latency in satellite communications
CN109344351B (zh) 网页加载方法、中间服务器和网页加载系统
CN104320483B (zh) 辅助应用程序升级的系统及其方法
WO2008039117A1 (en) A method and apparatus for controlling a proxy server
CN112988126A (zh) Cdn业务定制方法及系统
US8301775B2 (en) Affiliate bandwidth management
CN109460531A (zh) 网页管理方法、装置及智能终端
CN117236939A (zh) 一种联机交易的方法、装置、设备及电子设备
CN113872809A (zh) 访问方法、装置、电子设备和存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20181113

RJ01 Rejection of invention patent application after publication