CN105593840A - 使用前端优化(feo)配置的关键资源预取 - Google Patents
使用前端优化(feo)配置的关键资源预取 Download PDFInfo
- Publication number
- CN105593840A CN105593840A CN201480052942.2A CN201480052942A CN105593840A CN 105593840 A CN105593840 A CN 105593840A CN 201480052942 A CN201480052942 A CN 201480052942A CN 105593840 A CN105593840 A CN 105593840A
- Authority
- CN
- China
- Prior art keywords
- page
- feo
- template
- website
- given
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/568—Storing data temporarily at an intermediate stage, e.g. caching
- H04L67/5681—Pre-fetching or pre-delivering data based on network characteristics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0862—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches with prefetch
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Information Transfer Between Computers (AREA)
Abstract
前端优化(FEO)配置信息被利用以识别将其它页面加载到站点上所需要的“关键”资源,以及自动引起关键资源被预取到服务器,以及预取到浏览器。在该方法中,FEO分析器利用配置的优化模板的知识来确定加载每个模板的页面所需要的关键资源。然后,对于属于其它优化模板的页面的关键资源由其它页面选择性地预取。在优选的方法中,FEO分析器给边缘服务器缓存过程提供预取关键资源的关键资源和指令列表,以及重写页面的HTML以包括用于浏览器预取关键资源的指令的指令。在客户端上,关键资源在从浏览器上的缓存中丢失的情况下被预取。优选地,关键资源被存储在浏览器的HTML5本地存储缓存中。
Description
背景
技术领域
本申请总体上涉及覆盖连网,以及,特别是,涉及与覆盖网络(例如,内容分发网络(CDN))结合使用以加速网页的前端优化(FEO)技术。
现有技术简述
现有技术中分布式计算机系统是公知的。一种这样的分布式计算机系统是服务提供商所操作和管理的“内容分发网络”或“CDN”。服务提供商典型地代表使用服务提供商的基础设施的第三方(顾客)来提供内容分发服务。此类型的分布式系统典型地涉及由一个或多个网络所链接的很多自治计算机,连同被设计成便利诸如内容分发、web应用加速或外包源站点基础设施的其它支持之类的各种服务的软件、系统、协议和技术。CDN服务提供商典型地通过布置在顾客门户中并且然后部署到网络的数字化财产(诸如网站)来提供服务分发。数字化财产典型地被绑定到允许服务提供商来对流量计费并且向它的顾客开账单的一个或多个边缘配置。
诸如上述的覆盖网络可以合并前端优化(FEO)方案或与FEO方案进行互操作。FEO是通过修改HTML和在它们上的资源来加速网页的过程。目的是消除在使用覆盖的站点的前端中的瓶颈和低效率。在FEO中,有许多可以利用的具体的优化,并且它们的目的是实现以下项中的一个或多个:减少加载页面所需要的HTTP请求的数量,相反在一个请求中下载更多数据;通过使用更高效的格式来减小网页及其部件的总大小,从而提高缓存能力并且移除不必要的内容;以及通过以不同的顺序或定时布置浏览器负载资源来加速呈现,例如,从而阻止第三方脚本的能力延迟页面上的其它每个事物。
简要概述
根据本公开,前端优化(FEO)配置信息被利用来自动识别将其它页面加载到站点上所需要的重要(有时称为“关键”)资源,以及自动引起关键资源被预取到(a)CDN边缘和(b)浏览器。
FEO配置典型地定义一个或多个模板(有时称为“优化模板”或“策略”)以将站点上的主要类型的页面分类在一起。例如,电子商务站点可能有下面的优化模板:主页、产品类别页、产品细节页等。根据本文所述的技术,FEO分析器利用所配置的优化模板(策略)的该知识来确定加载每个模板的页面所需要的关键资源。关于属于其它优化模板的页面的关键资源则由其它页面选择性地预取。在上面的例子中,主页可以预取加载产品类别页所需要的关键资源,以及加载产品细节页所需要的关键资源。这使在用户离开主页并且转到产品类别页上时的后续页面加载快得多。在优选的方法中,FEO分析器给边缘服务器缓存过程提供预取关键资源的关键资源和指令列表,以及重写页面的HTML以包括用于浏览器预取关键资源的指令的指令。
在客户端侧,优选地,关键资源仅在从浏览器上的缓存中丢失的情况下被预取。优选地,关键资源存储在浏览器的客户端侧的储存器,如HTML5本地储存器中。这允许FEO脚本确定该资源是否已经存在于该浏览器的储存器中。如果关键资源存在,则不从边缘网络提取它。然而,如果关键资源丢失,则在呈现当前页面之后预取关键资源。
前面已经概括了本主题的更有针对性的特征中的一些特征。这些特征应当解释为仅仅是例证性的。许多其它有益的结果可以通过以不同的方式应用所公开的主题来获得或者通过修改如将进行描述的该主题来获得。
附图的简要说明
为了更完整理解该主题及其优点,现在作出对于下面结合附图所进行的说明的参考,在附图中:
图1是示出已知的配置为内容分发网络(CDN)的分布式计算机系统的框图;
图2是代表性的CDN边缘机器配置;
图3是集成到覆盖网络,诸如CDN中的代表性的FEO机构;以及
图4示出根据本公开的经重写以包括用于浏览器预取关键资源的指令的示例的HTML页面。
详述
在如图1中所示的已知的覆盖网络系统中,分布式计算机系统100被配置成CDN并且被假设具有分布在因特网的各处的一组机器102a-n。典型地,大多数机器是位于因特网的边缘附近的服务器,即,在终端用户接入网处或邻近终端用户接入网的服务器。网络操作命令中心(NOCC)104管理系统中各种机器的操作。第三方站点,诸如网站106,将内容(例如,HTML、嵌入式页面对象、流媒体、软件下载等)的分发转移(offload)到分布式计算机系统100,以及,特别是,转移到“边缘”服务器。典型地,内容提供商通过将给定的内容提供商域或子域(例如,通过DNSCNAME)起别名为由该服务提供商的授权域名服务所管理的域来转移他们的内容分发。想要该内容的终端用户被定向到分布式计算机系统以更可靠和高效地获取该内容。尽管未详细示出,分布式计算机系统还可以包括其它基础设施,诸如分布式数据收集系统108,其从边缘服务器收集使用情况和其它数据,聚合在整个的区域或一组区域内的该数据,并且将该数据传递到其它后端系统110、112、114和116以便利监视、记录、警告、开账单、管理以及其它操作和管理的功能。分布式网络代理118监视网络以及服务器负载并且将网络、流量和负载数据提供给DNS查询处理机构115,其对于CDN所管理的内容域是可信的。分布式数据传输机构120可以用来将控制信息(例如,管理内容、便利负载均衡的元数据等)分配给边缘服务器。
如图2中所示,给定机器200包括运行支持一个或多个应用206a-n的操作系统内核(如Linux或变型)204的商业硬件(例如,英特尔奔腾处理器)202。为了便利内容分发服务,例如,给定机器典型地运行诸如HTTP代理207(有时称为“全局主机”过程)、名称服务器208、本地监视过程210、分布式数据收集过程212等的一组应用。更一般地,ghost是软件,包括了程序指令,该指令被保存在存储器中并且由处理器根据需要来执行。对于流媒体(其不是基于HTTP的),机器可以根据所支持的媒体格式所需要的包括一个或多个媒体服务器,诸如Windows媒体服务器(WindowsMediaServer,WMS)或快闪服务器(Flashserver)。
CDN边缘服务器被配置成,优选地以特定于域、特定于顾客为基础,优选地使用被分配给使用配置系统的边缘服务器的配置文件,提供一个或多个扩展的内容分发特征。给定配置文件优选地是基于XML的并且包括促进一个或多个高级的内容处理特征的一组内容处理规则和指令。该配置文件可以经由数据传输机构被分发给CDN边缘服务器。美国专利号7,111,057示出用于分发和管理边缘服务器内容控制信息的有用的基础设施,并且该边缘服务器控制信息和其它边缘服务器控制信息可以由CDN服务提供商本身提供,或者由操作源服务器的内容提供商的顾客(经由外联网等)来提供。
因为CDN基础设施由多个第三方共享,它有时在本文中称为多租户共享的基础设施。CDN过程可以位于在因特网上公共可路由的节点处,位于处于移动网络中的节点内或邻近处于移动网络中的节点,位于基于企业的私有网络中或邻近基于企业的私有网络,或者它们的任何组合。
CDN可以包括存储子系统,诸如美国专利号7,472,178中所述的,其公开内容通过引用并入本文。
CDN可以操作服务器缓存层次结构以提供顾客内容的中间缓存;一个这样的缓存层次结构子系统在美国专利号7,376,716中进行描述,其公开内容通过引用并入本文。
CDN可以以美国公开号20040093419中所述的方式在客户端浏览器、边缘服务器和顾客源服务器之间提供安全内容分发。如在其中所述的安全内容分发一方面强制执行在客户端和边缘服务器过程之间的基于SSL的链接,并且另一方面,强制执行在边缘服务器过程和源服务器过程之间的基于SSL的链接。这使得受SSL保护的网页和/或其组件能够经由边缘服务器进行分发。
以覆盖的方式,CDN资源可以用来便利在企业数据中心(其可以是私有管理的)和第三方软件即服务(SaaS)的提供商之间的广域网(WAN)加速服务。
美国专利号6,820,133和7,660,296中所述的技术可以用来便利在覆盖网络中的边缘和转发代理之间的分组分发。
诸如上述的覆盖网络可以合并前端优化(FEO)方案或与FEO方案进行互操作。FEO是通过修改HTML和在它们上的资源来加速网页的过程。目的是消除在使用该覆盖的站点的前端中的瓶颈和低效率。在FEO中,有许多可以利用的具体的优化,并且它们的目的是实现以下项中的一个或多个:减少加载页面所需要的HTTP请求的数量,相反在一个请求中下载更多数据;通过使用更高效的格式来减小网页及其部件的总大小,从而提高缓存能力并且移除不必要的内容;以及通过以不同的顺序或定时布置浏览器负载资源来加速呈现,例如,从而阻止第三方脚本的能力延迟页面上的其它每个事物。
图3示出集成到覆盖中,诸如集成到CDN中的FEO机构。FEO机构包括一组元件和部件。分析器300是分析来自CDN顾客网站的页面并且决定哪些优化可以应用到哪些类型的页面的系统。分析器的输出是一组应当应用到模板的变换和一组优化资源。优选地,分析页面的过程是请求驱动的,其与让分析器爬顾客的网站相反。因此,分析器确定哪些优化应当应用到终端用户所请求的页面。该分析过程与请求服务是异步完成的。变换器302是基于分析器300所提供的指令来重写页面的内容的过程。变换器302在服务该请求的同时变换该页面。为了减少分析器上的工作负荷,优选地,页面被分组到各模板中。优选地,一页面仅属于一个模板。页面到模板的映射被称为规范化,以及,优选地,规范化基于所请求的URL和发出该请求的浏览器。FEO优化涉及FEO所用来提高页面的性能的技术;它们包括,而不限于,及时图像加载、缩小、域分片以及其它。在本方法中,变换描述哪些修改将应用到页面内容。如上所注意的,各变换由分析器300所计算并且被给到变换器302,变换器302将变换应用到该页面。优化资源是页面的已经由分析器优化了的元件;它们包括,而不限于,压缩图像、组合CSS或JavaScript。优化资源被存储在可靠的储存器中并且由变换的页面所引用以及在该页面被优化之后对于请求客户端浏览器可用。基础资源是来自网页的由FEO所优化的资源,例如,由分析器所压缩的图像是基础资源。
现在描述该系统的请求驱动的处理。覆盖网络的顾客被提供给使用顾客门户303来使用FEO服务。为CDN边缘服务器305被提供指示FEO应当被应用到顾客的站点(或其某些部分)的配置数据。然后在边缘服务器处接收到第一用户请求。边缘服务器GHost(全局主机)过程应用它的配置数据并且确定该请求应当使用FEO。然后,它在其FEO配置缓存中查找对于该数字化财产的规范化信息。因为这是第一个请求,没有这样的规范化信息存在,所以该过程从源服务器304得到页面并且以普通方式(不用FEO)对它进行服务。然后,主机过程将异步请求发送给FEO网络以请求对该顾客进行规范化。在一个实施例中,全局主机过程使用RESTful请求来与FEO网络进行通信并且数据在API306(诸如谷歌协议缓冲器)被交换。API306通过完成对于该数字化财产的数据库308的查找来响应针对规范化的请求并且返回信息。对于RESTful的响应被缓存。
然后,在边缘服务器的全局主机过程处接收到第二用户请求,该全局主机过程然后应用配置并且确定该请求应当使用FEO。该全局主机过程然后为该顾客查找规范化信息,并且该信息现在存在了。该过程应用该规范化并且计算页面被映射到的模板。该过程查找针对该模板的变换指令但不拥有它们(给定该初始过程流)。因此,该全局主机过程再次不用FEO优化来服务该页面。它还将异步请求发送给FEO网络以请求对该模板进行变换。如果对于该模板的变换还没有被计算出,该API将请求加入队列以用于在数据库308中进行分析并且向请求过程提供与短TTL一起缓存的HTTP404否定响应。然后,该分析器从队列中取出请求信息,进行针对来自源服务器的页面的请求,接收它,以及然后,基于在顾客提供期间所配置的优化来分析它。该分析器产生对于该模板的变换的列表并且将它存储在数据库中。下次任何全局主机过程请求对于该请求的变换时,FEOAPI以该变换包进行回复。该分析器还产生一组优化资源并且将这些资源存储在储存器310中。如果对于该模板的变换已经在之前的分析中被计算出来,则API从数据库中检索该信息并且以变换包响应请求全局主机过程。优选地,变换包被存储在全局主机过程LRU缓存中。
然后在边缘服务器全局主机过程处接收到第三用户请求。如前,该过程应用配置数据并且确定该请求应当使用FEO。该过程为该顾客查找规范化信息。它拥有该信息并且应用它以计算该页面被映射到的模板。该全局主机过程现在还拥有凭借先前的处理的对于该模板的变换的列表。该过程请求源页面并且将这些变换应用到该页面。优选地,该过程以流的方式应用变换,这减少了存储器的使用并且提高了响应度。一旦变换已经被应用,该全局主机过程服务FEO修改的页面给终端用户。浏览器得到经修改的页面并且访问储存器以检索优化资源。优选地,优化资源被缓存在覆盖CDN中。
上述技术的进一步的细节在美国专利号8,788,577中进行描述,其公开内容被并入本文。
本文对于“FEO”和“FEO配置”的引用不旨在被限制于任何特定技术或商业实现。概括来说,前端优化涉及修改HTML(或它的等效物)的任何工具和/或它为了加速完成页面加载(或页面加载内的里程碑)的时间的目的而直接或间接引用的资源。同样,本文对于FEO模板的引用不应当解释为限制:概括来说,模板涉及用于页面或页面的一部分(包括web元件,如HTML、JavaScript、CSS和图像)的结构,其与不同的用户内容一起被重用。例如,公司网站主页随新产品推广而被更新、文章页针对不同的新闻文章进行重用、产品页针对不同的产品描述和价格进行重用。
另外,本文对于网站或网页的引用应当广泛地加以解释。网站可以包括传统的网站(包括了一组网页)或web应用。网页还可以包括或引用AJAX技术。AJAX网页是改变例如URL中的给定指令的网页。AJAX技术包括XHTML(可扩展HTML)和CSS(层叠样式表)以用于标记并且样式化信息,使用用客户端侧脚本语言来访问的(文档对象模型)DOM,使用XMLHttpRequest对象(脚本语言所使用的API)来将XML和其它文本数据使用HTTP异步地传输到服务器以及从服务器进行传输),以及将XML或JSON(Javascript对象表示法,一种轻量型的数据交换格式)用作在服务器和客户端之间传输数据的格式。
因此,页面是,给定URL时,分发全部必要部件(例如,HTML、CSS、JavaScript、图像等)以呈现它并且与它进行交互的一种结构。在AJAX的背景中,页面的标记还可以包括使之前的页面被加载的情况,以及,当被新URL或JavaScript动作的进入触发,修改所显示的内容或可用动作,从而创建之前页面的新的状态。
相对于经由AJAX的内容分发,使用前端优化(FEO)来优化页面典型地包括至少使HTML改变为指向其它资源或以不同的方式加载资源,并且将JavaScript插入到页面,页面在执行时将使用诸如XMLHttpRequest(XHR)调用、文档对象模型(DOM)操纵等的JavaScript触发的动作来提取页面上资源中的一些资源(或它们的各部分,或新的资源)。
使用FEO配置的关键资源预取
以上述为背景,现在描述本公开的技术。该技术假设浏览器支持客户端侧的存储机构,如HTML5本地储存器。本文对于HTML5本地储存器的引用和它的使用不旨在进行限制。
通过简短背景的方式,HTML5本地储存器还称为W3Cweb存储标准。web存储规范提供用于网页来在本地,即,在客户端浏览器内(典型地在缓存内),存储命名键/值对的方式。根据数据被存储的方式,该数据可以在用户导航离开网站,关闭从其到达页面的浏览器标签或完全关闭浏览器之后存留。然而,当浏览器做出对服务器的请求(如有cookies的情况)时,在这样的本地储存器中的数据不自动被传输。该数据被存储在命名键/值对(其被存储为字符串)中,并且网页可以仅访问由其自身或来自同一网站的其它网页所存储的数据。该数据以两种对象类型进行存储:本地(localStorage)存储和会话(sessionStorage)存储。本地存储对象存储没有有效日期的数据,因此,即使当浏览器关闭时,该数据也被维持。会话存储对象存储用于仅一个会话的数据,并且当用户关闭浏览器窗口时,该数据被删除。支持HTML5本地储存器的浏览器包括InternetExplorer8+、Firefox、Chrome、Safari和Opera。
根据本公开,FEO配置信息被利用来自动识别将其它页面加载到站点上所需要的重要(有时称为“关键”)资源,以及自动引起关键资源被预取到(a)CDN边缘和(b)浏览器。FEO配置典型地定义一个或多个模板(有时称为“优化模板”或“策略”)以将站点上的主要类型的页面归类在一起。例如,电子商务站点可能有下面的优化模板:主页、产品类别页、产品细节页等。根据本公开,该FEO分析器利用所配置的优化模板(策略)的知识来确定加载每个模板的页面所需要的关键资源。关于属于其它优化模板的页面的关键资源则由其它页面选择性地预取。在上面的例子中,主页可以预取加载产品类别页所需要的关键资源和加载产品细节页所需要的关键资源。这使在用户离开主页并且转到产品类别页上时的后续页面加载快得多。在优选的方法中,FEO分析器给边缘服务器全局主机过程提供预取关键资源的关键资源和指令列表,以及重写页面的HTML以包括用于浏览器预取关键资源的指令的指令。
图4示出以该方式重写的示例的HTML页面。在该例子中,“首页”包括已经通过FEO机构(以已知的方式)处理的一组资源(a.php、js-all.js、css-all.js、d.png)。因此,例如,文件js-all.js表示需要用于首页的全部的JavaScript。根据本公开并且基于FEO配置的分析,一对附加资源(js.prefetch.js和css-prefetch.js)已经被识别为是关于“第二页”的“关键资源”,“第二页”是链接到首页的页面。在首页的HTML重写期间,(所链接的第二页所需要的)这些关键资源然后被引起通过包括一个或多个标记语言指令(例如,SCRIPT标记标签内的JavaScript)而与首页相关联,一个或多个标记语言指令当在浏览器处执行时,引起这些关键资源在首页装载之后被预取到客户端的HTML5本地储存器。然后,当终端用户从首页导航到第二页(本例子中用户的可能的下一个页面视图)时,这些关键资源已经存在于浏览器缓存中了。此外,因为资源被预取到HTML5本地储存器中(优选地作为本地存储对象),它们可以被保留在缓存中持续很长一段时间,即使当用户关闭浏览器标签或关闭该浏览器本身时。
在客户端侧,关键资源仅在从浏览器上的缓存中丢失的情况下被预取。关键资源存储在浏览器的HTML5本地存储缓存(等)中。这允许FEO脚本来确定资源是否已经存在于浏览器的储存器中。如果关键资源存在,则不从边缘网络提取它。然而,如果它丢失,关键资源在呈现当前页面之后被预取。
因此,所述方法将属于其它模板的优化资源(例如CSS和JavaScript)预取到终端用户客户端HTML5本地储存器。这使用于来自网站的后续页面加载的缓存活跃起来。特别是,如普通技术人员将理解的,该方法提供在该站点的首页加载时将站点范围的CSS和JavaScript存储到浏览器HTML5本地储存器中的方式。特别是,在装载首页之后,该机构异步加载该站点中的其它页面上所使用的CSS和JavaScript(或其它优化资源)并且将它们存储在浏览器本地储存器中。
通过以这种方式利用FEO配置信息,该技术提供简单的方式来发现要预取的重要资源。用各策略模板中所使用的资源来预填充HTML本地储存器的方法提高了后续页面的第一视图访问方面的页面加载性能,因为可缓存的CSS和JavaScript资源已经存在于浏览器本地缓存中。
典型地,被预取的关键资源是CSS和JavaScript资源,因为这些类型的资源对页面加载时间最有影响。
因此,该缓存预加载技术减少了在站点上的多个页面之间或当中进行浏览所花费的总时间。该优化在每个模板的独特资源的数量高时,以及,特别是,在访问者首次从一个页面模板导航到另一个页面模板时,提供了最大价值。该方法在站点上的用户会话行为与FEO模板配置很好地匹配时是非常有益的。
如技术人员将理解的,本文所述的技术提供构建到FEO分析器中的附加的智能层以确定什么资源应当被预取以及应当在什么环境下被预取。该方法利用(如在FEO配置中实施的)整个站点的知识来确定要预取什么资源。
下面提供代表性实现的附加细节。
当页面被优化时,将加载到缓存中的资源优选地可以以若干不同方式中的一种方式,例如,针对该模板所定义的URL来分析(URLToAnalyze)配置项,或通过扫描在HTML页面内的链接,被找到。用启用了预加载优化(如本文所述)的缓存来分析的页面确定是否存在对于该配置所提供的每个模板进行分析的URL。如果模板没有预先定义的URL,该分析器尝试找到带有与该模板的模式相匹配的URL的链接标签。优选地,在它被在配置内的排除列表中的条目所排除的情况下,模板不被处理。在全部模板有使它们满意的URL时,分析器收集可用在未来页面上的CSS和JavaScript资源列表。未来的资源在资源存在于当前页面上或是通过排除被过滤的CSS或JavaScript资源的情况下从处理中被过滤。满足该标准的每个未来资源然后被处理以用于本地存储。每个脚本根据对于该模板的CSS或脚本分析器设置进行处理。
优选地,分析器通过使用关于模板的代表性页面来工作。如果关于模板的代表性页面存在,则分析器使用它。当页面正在被分析时,优选地,只有匹配模板的不带代表性页面的链接被存储。当已经处理了页面上的全部标签之后,将有需要进行扫描的页面列表。如果页面上的链接格式不正确,则它被忽略并排除被扫描。在已经收集了一组URL之后,分析器中的资源收集器功能扫描页面。这收集到未来页面上的一组样式表和脚本中。每个脚本和CSS文件以普通方式被处理以通过内容或URL、压缩设定、正则表达式替换等来应用内容排除。所识别并且所处理的脚本和CSS使变换被创建。
如可以看到的,在(初始页面的)特定模板正在被分析时,该方法执行;在该模板被分析时,与一个或多个所链接的页面相关联的设定(URL模式)被分析,在其中相关联的资源被识别并且被优化,连同各结果然后被拉回到初始模板中以便利在将初始页面加载到HTML5本地储存器中时的关键资源预取。本文中的该方法预取用户的可能的下一个页面视图所需要的资源。
可以改变该方法以提供将特定模板中的脚本排除预填充,但在加载该模板的情况下,是那些脚本被缓存的能力。该选项可以通过将要包含该资源的模板上的配置参数来控制。
客户端是常规的台式机、笔记本或运行web浏览器或支持HTML5本地存储(等)的其它呈现引擎的其它因特网可访问的机器。客户端还可以是移动设备。如本文中所使用的,移动设备是任何无线客户端设备,例如,蜂窝电话、寻呼机、个人数字辅助(PDA,例如,带有GPRSNIC)、带有智能手机客户端的移动计算机等。可以在其中实践该技术的其它移动设备包括能够使用无线协议以无线方式发送以及接收数据的任何接入协议启用的设备(例如,基于iOSTM的设备、基于AndroidTM的设备等)。典型的无线协议是:WiFi、GSM/GPRS、CDMA或WiMax。这些协议实现ISO/OSI物理和数据链路层(层1和层2),在其上传统的连网栈被构建,具有IP、TCP、SSL/TLS和HTTP。
在代表性的实施例中,移动设备是基于GPRS(通用分组无线业务)操作的蜂窝手机,GPRS是用于GSM网络的数字技术。概括来说,如本文中所使用的移动服务是包括为携带用户特定信息的智能卡的用户识别模块(SIM)的3G(或下一代)兼容的设备、移动装置(例如,无线及相关联的信号处理设备)、人机接口(MMI)和到外部设备(例如,计算机、PDA等)的一个或多个接口。本文中公开的技术不被限制于与使用特定接入协议的移动设备一起使用。典型地,移动设备还拥有对于无线局域网(WLAN)技术如Wi-Fi的支持。WLAN基于IEEE802.11标准。
更一般地,本文所述的服务器侧技术使用共同促进或提供上述的功能的一个或多个计算相关的实体(系统、机器、过程、程序、库、函数等)的集合来被提供。在典型的实现中,软件在其上执行的代表性机器包括商业硬件、操作系统、应用运行时环境,以及应用或过程及相关联的数据的集合,它们提供给定系统或子系统的功能。如所述的,该功能可以在独立的机器中实现,或跨一组分布式机器实现。服务器侧的功能可以被提供为服务,例如,作为SaaS解决方案。
虽然上面描述由本发明的某些实施例所执行的操作的特定顺序,应当理解,这种顺序是示例性的,因为替代实施例可以以不同的顺序来执行各操作,组合某些操作,覆盖某些操作等。本说明书中对于给定实施例的引用指示,所述的实施例可以包括特定特征、结构或特性,但每一个实施例可以不必包括特定特征、结构或特性。
虽然所公开的主题已经在方法或过程的上下文中进行了描述,该主题的公开内容还涉及用于执行本文中的操作的装置。该装置可以专门为了所期望的目的来进行构造,或者它可以包括由存储在计算机中的计算机程序选择性地进行激活或重新配置的通用计算机。这样的计算机程序可以被存储在计算机可读存储介质中,诸如,但不被限于,包括光盘、CD-ROM和磁光盘的任何类型的磁盘、只读存储器(ROM)、随机存取存储器(RAM)、磁卡或光卡或适于存储电子指令的任何类型的介质,并且每个被耦合到计算机系统总线。
虽然该系统的给定组件已经分开进行了描述,但普通技术人员将理解,各功能中的一些功能可以在给定指令、程序序列、代码部分等中进行组合或共享。
优选地,该功能在应用层解决方案中实现,但是这不是限制,因为所识别的功能的各部分可以被构建到操作系统等中。
该功能可以与任何应用层协议一起实现。
对于可以实现客户端侧或服务器侧的计算实体的类型没有限制。任何计算实体(系统、机器、设备、程序、过程、实用程序等)可以充当客户端或服务器。
除了上述优点之外,本文中的各技术一般地为技术或技术领域(即,覆盖连网、内容分发等)提供上述改进,以及为前端优化(FEO)技术提供具体的技术改进,全部改进如上所述。
如已经描述了的,本文中的方法提高了网站的分发能力,尤其是对于网站的后续页面的首视图访问的页面加载性能。
Claims (13)
1.一种增强网站的分发能力的装置,所述网站包括一组页面,所述装置包括:
硬件处理器;
计算机存储器,其存储所述硬件处理器执行的计算机程序指令,所述计算机程序指令包括:
可操作来接收所述网站的前端优化(FEO)配置的程序代码,所述FEO配置识别所述网站的一组页面模板,其中,一给定页面模板与一种类型的页面相关联;
可操作来分析所述FEO配置以针对与首页相关联的给定页面模板识别链接到所述首页的页面的一组一个或多个关键资源的程序代码,所链接的页面与至少一个其它页面模板相关联;以及
可操作来重写关于与所述给定页面模板相关联的页面的标记语言代码以包括在所述页面加载时预取所述一个或多个关键资源的一个或多个指令的程序代码。
2.如权利要求1所述的装置,其中,所链接的页面与在所述FEO配置中所识别的所述一组页面模板中的至少一个其它页面模板相关联。
3.如权利要求1所述的装置,其中,所述指令适于将所述一个或多个关键资源预取到与进行请求的web客户端相关联的HTML5本地储存器中。
4.如权利要求1所述的装置,其中,所述关键资源是以下中的一个:层叠样式表(CSS)和JavaScript。
5.如权利要求1所述的装置,其中,所述计算机程序指令还包括可操作来在给定关键资源也存在于所述首页中时,将所述给定关键资源从所述一个或多个关键资源中排除的程序代码。
6.如权利要求1所述的装置,其中,可操作来分析所述FEO配置的所述程序代码识别加载关于所述一组模板中的模板中的每一个的页面所需要的一个或多个关键资源。
7.如权利要求6所述的装置,其中,所述计算机程序指令还包括将一个或多个模板从被分析的所述一组模板中排除的程序代码。
8.在边缘网络上给多租户提供网站加速的覆盖网络中的改进,包括:
代表租户增强网站的分发能力的装置,所述网站包括一组页面,所述装置包括:
硬件处理器;
计算机存储器,其存储所述硬件处理器执行的计算机程序指令,所述计算机程序指令包括:
可操作来接收所述网站的前端优化(FEO)配置的程序代码,所述FEO配置识别所述网站的一组页面模板,其中,一给定页面模板与一种类型的页面相关联;
可操作来分析所述FEO配置以针对与首页相关联的给定页面模板识别链接到所述首页的页面的一组一个或多个关键资源的程序代码,所链接的页面与至少一个其它页面模板相关联;以及
可操作来重写关于与所述给定页面模板相关联的页面的标记语言代码,以包括在所述页面加载时预取所述一个或多个关键资源的一个或多个指令的程序代码。
9.如权利要求8所述的改进,其中,所述边缘网络包括一个或多个边缘服务器。
10.如权利要求9所述的改进,其中,所重写的标记语言代码从所述边缘网络中的边缘服务器被提供给进行请求的客户端。
11.一种增强网站的页面加载的装置,所述网站包括一组页面,所述装置包括:
硬件处理器;
计算机存储器,其存储所述硬件处理器执行的计算机程序指令,所述计算机程序指令包括:
可操作来接收并且解析与用于所述网站的前端优化(FEO)配置的给定页面模板相关联的给定页面的标记语言代码的程序代码,所述FEO配置识别所述网站的一组页面模板,其中,一给定页面模板与一种类型的页面相关联,在分析所述FEO配置之后所述给定页面已经被修改以包括预取与所述给定页面的加载相关联的一个或多个关键资源的一个或多个指令,所述一个或多个关键资源与链接到所述给定页面的至少一个页面相关联,所链接的页面与在所述FEO配置中的至少一个其它页面模板相关联;
关于特定关键资源可操作来确定所述特定关键资源是否存在于客户端侧的本地储存器中的程序代码;以及
响应于所述特定关键资源不存在于所述客户端侧的本地储存器中的确定而可操作来预取与所述给定页面的加载相关联的所述特定关键资源的程序代码。
12.如权利要求11所述的装置,其中,所述客户端侧的本地储存器是HTML5本地储存器。
13.如权利要求11所述的装置,其中,所述计算机程序指令还包括响应于所述特定关键资源存在于所述客户端侧的本地储存器中的确定而可操作来用于忽略预取所述特定关键资源的指令的程序代码。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361882202P | 2013-09-25 | 2013-09-25 | |
US61/882,202 | 2013-09-25 | ||
US14/494,682 US9477774B2 (en) | 2013-09-25 | 2014-09-24 | Key resource prefetching using front-end optimization (FEO) configuration |
US14/494,682 | 2014-09-24 | ||
PCT/US2014/057325 WO2015048207A1 (en) | 2013-09-25 | 2014-09-25 | Key resource prefetching using front-end optimization (feo) configuration |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105593840A true CN105593840A (zh) | 2016-05-18 |
Family
ID=52692159
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480052942.2A Pending CN105593840A (zh) | 2013-09-25 | 2014-09-25 | 使用前端优化(feo)配置的关键资源预取 |
Country Status (5)
Country | Link |
---|---|
US (3) | US9477774B2 (zh) |
EP (1) | EP3049960B1 (zh) |
CN (1) | CN105593840A (zh) |
CA (1) | CA2925003C (zh) |
WO (1) | WO2015048207A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451160A (zh) * | 2016-06-01 | 2017-12-08 | 广州市动景计算机科技有限公司 | 一种页面预读方法及装置 |
CN108804514A (zh) * | 2018-04-25 | 2018-11-13 | 网宿科技股份有限公司 | 一种网页加载方法、服务器和网页加载系统 |
Families Citing this family (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140379840A1 (en) * | 2013-06-24 | 2014-12-25 | Akamai Technologies, Inc. | Predictive prefetching of web content |
US9544319B2 (en) * | 2013-10-10 | 2017-01-10 | Intel Corporation | Anomaly detection on web client |
US9819721B2 (en) | 2013-10-31 | 2017-11-14 | Akamai Technologies, Inc. | Dynamically populated manifests and manifest-based prefetching |
US9990440B2 (en) * | 2013-12-30 | 2018-06-05 | Oath Inc. | Smart content pre-loading on client devices |
US9576070B2 (en) | 2014-04-23 | 2017-02-21 | Akamai Technologies, Inc. | Creation and delivery of pre-rendered web pages for accelerated browsing |
JP6397312B2 (ja) * | 2014-11-06 | 2018-09-26 | キヤノン株式会社 | ネットワークシステム、及び、ネットワークシステムの制御方法 |
US9948709B2 (en) | 2015-01-30 | 2018-04-17 | Akamai Technologies, Inc. | Using resource timing data for server push in multiple web page transactions |
US10313463B2 (en) | 2015-02-19 | 2019-06-04 | Akamai Technologies, Inc. | Systems and methods for avoiding server push of objects already cached at a client |
US10033656B2 (en) * | 2015-05-21 | 2018-07-24 | Sap Portals Israel Ltd | Critical rendering path optimization |
US11070608B2 (en) | 2015-06-17 | 2021-07-20 | Fastly, Inc. | Expedited sub-resource loading |
US10320934B1 (en) | 2015-08-25 | 2019-06-11 | Instart Logic, Inc. | One-time cache |
US10296580B1 (en) * | 2015-09-18 | 2019-05-21 | Amazon Technologies, Inc. | Delivering parsed content items |
US10127210B1 (en) | 2015-09-25 | 2018-11-13 | Amazon Technologies, Inc. | Content rendering |
US10691750B1 (en) | 2015-09-28 | 2020-06-23 | Amazon Technologies, Inc. | Browser configured to efficiently store browsing session state |
US10241983B1 (en) | 2015-09-28 | 2019-03-26 | Amazon Technologies, Inc. | Vector-based encoding for content rendering |
US10601894B1 (en) | 2015-09-28 | 2020-03-24 | Amazon Technologies, Inc. | Vector-based encoding for content rendering |
CN105897836A (zh) * | 2015-12-07 | 2016-08-24 | 乐视云计算有限公司 | 一种回源请求处理方法及装置 |
US10341345B1 (en) | 2015-12-15 | 2019-07-02 | Amazon Technologies, Inc. | Network browser configuration |
US10348797B1 (en) | 2015-12-15 | 2019-07-09 | Amazon Technologies, Inc. | Network browser configuration |
CN107172110A (zh) * | 2016-03-07 | 2017-09-15 | 阿里巴巴集团控股有限公司 | 一种应用app的资源加载方法、业务功能实现方法及装置 |
US10447759B2 (en) * | 2016-05-27 | 2019-10-15 | Microsoft Technology Licensing, Llc | Web page accelerations for web application hosted in native mobile application |
US10412186B2 (en) | 2016-08-18 | 2019-09-10 | Level 3 Communications, Llc | Front-end optimization in a content delivery network (CDN) |
US10581948B2 (en) | 2017-12-07 | 2020-03-03 | Akamai Technologies, Inc. | Client side cache visibility with TLS session tickets |
US11170067B2 (en) * | 2017-12-13 | 2021-11-09 | Google Llc | Methods, systems, and media for updating a webpage rendered with cached content |
CN110018861B (zh) * | 2018-01-08 | 2023-05-05 | 视联动力信息技术股份有限公司 | 一种应用程序的消息提示方法和装置 |
US11055268B2 (en) * | 2018-03-19 | 2021-07-06 | Fast Technologies, Inc. | Automatic updates for a virtual index server |
US20190327140A1 (en) | 2018-04-24 | 2019-10-24 | Level 3 Communications, Llc | Subscriber configuration ingestion in a content delivery network |
US11418621B2 (en) | 2018-09-21 | 2022-08-16 | Microsoft Technology Licensing, Llc | Cloud-based composable data layer |
US10839037B2 (en) | 2018-09-21 | 2020-11-17 | Microsoft Technology Licensing, Llc | Connected application experience |
US10666528B1 (en) | 2018-11-28 | 2020-05-26 | Sap Portals Israel Ltd. | Decoupling platform as a service providers using a service management platform |
CN109710870A (zh) * | 2018-12-27 | 2019-05-03 | 北京微播视界科技有限公司 | H5页面的加载方法、装置、电子设备及可读存储介质 |
CN109587291B (zh) * | 2019-01-08 | 2020-08-04 | 湖南康通电子股份有限公司 | 一种文件流加速通信方法、系统和设备 |
CN109831432B (zh) * | 2019-01-30 | 2021-06-01 | 重庆农村商业银行股份有限公司 | 服务提供方h5应用形式的第三方安全接入方法 |
CN111224880A (zh) * | 2019-12-31 | 2020-06-02 | 北京健康之家科技有限公司 | 一种单页面应用的接口数据获取方法、装置及存储介质 |
CN111427645A (zh) * | 2020-03-20 | 2020-07-17 | 青岛聚好联科技有限公司 | 一种基于h5的跨终端自适应显示的方法及装置 |
US11379281B2 (en) | 2020-11-18 | 2022-07-05 | Akamai Technologies, Inc. | Detection and optimization of content in the payloads of API messages |
US20220318491A1 (en) * | 2021-04-02 | 2022-10-06 | Relativity Oda Llc | Systems and methods for contextual highlighting of a document |
CN113905033A (zh) * | 2021-10-25 | 2022-01-07 | 北京知道创宇信息技术股份有限公司 | 一种网页跳转处理方法、装置、存储介质及电子设备 |
CN114398575A (zh) * | 2021-12-07 | 2022-04-26 | 深圳般若海科技有限公司 | 一种web端数据采集方法及其系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030004998A1 (en) * | 2001-06-29 | 2003-01-02 | Chutney Technologies, Inc. | Proxy-based acceleration of dynamically generated content |
US20090217145A1 (en) * | 2008-02-27 | 2009-08-27 | Actionthis Limited | Methods and devices for post processing rendered web pages and handling requests of post processed web pages |
US20110029641A1 (en) * | 2009-08-03 | 2011-02-03 | FasterWeb, Ltd. | Systems and Methods Thereto for Acceleration of Web Pages Access Using Next Page Optimization, Caching and Pre-Fetching Techniques |
CN103258056A (zh) * | 2013-05-31 | 2013-08-21 | 北京奇虎科技有限公司 | 处理风格样式表的方法、服务器、客户端和系统 |
US20130227078A1 (en) * | 2012-02-23 | 2013-08-29 | Coach Wei | System and method for context specific website optimization |
Family Cites Families (48)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5752069A (en) * | 1995-08-31 | 1998-05-12 | Advanced Micro Devices, Inc. | Superscalar microprocessor employing away prediction structure |
US5854921A (en) * | 1995-08-31 | 1998-12-29 | Advanced Micro Devices, Inc. | Stride-based data address prediction structure |
US6397217B1 (en) | 1999-03-04 | 2002-05-28 | Futuretense, Inc. | Hierarchical caching techniques for efficient dynamic page generation |
US6553393B1 (en) * | 1999-04-26 | 2003-04-22 | International Business Machines Coporation | Method for prefetching external resources to embedded objects in a markup language data stream |
US7096417B1 (en) * | 1999-10-22 | 2006-08-22 | International Business Machines Corporation | System, method and computer program product for publishing interactive web content as a statically linked web hierarchy |
US7058636B2 (en) * | 2000-01-03 | 2006-06-06 | Dirk Coldewey | Method for prefetching recursive data structure traversals |
US7047033B2 (en) | 2000-02-01 | 2006-05-16 | Infogin Ltd | Methods and apparatus for analyzing, processing and formatting network information such as web-pages |
US6820133B1 (en) * | 2000-02-07 | 2004-11-16 | Netli, Inc. | System and method for high-performance delivery of web content using high-performance communications protocol between the first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination |
US6785796B1 (en) * | 2000-08-01 | 2004-08-31 | Sun Microsystems, Inc. | Method and apparatus for software prefetching using non-faulting loads |
US7574486B1 (en) | 2000-11-06 | 2009-08-11 | Telecommunication Systems, Inc. | Web page content translator |
US20020138331A1 (en) | 2001-02-05 | 2002-09-26 | Hosea Devin F. | Method and system for web page personalization |
US7331038B1 (en) * | 2003-07-02 | 2008-02-12 | Amazon.Com, Inc. | Predictive prefetching to improve parallelization of document generation subtasks |
US8635218B2 (en) | 2003-09-02 | 2014-01-21 | International Business Machines Corporation | Generation of XSLT style sheets for different portable devices |
US7434004B1 (en) * | 2004-06-17 | 2008-10-07 | Sun Microsystems, Inc. | Prefetch prediction |
US20060069617A1 (en) * | 2004-09-27 | 2006-03-30 | Scott Milener | Method and apparatus for prefetching electronic data for enhanced browsing |
US20060179236A1 (en) * | 2005-01-13 | 2006-08-10 | Hazim Shafi | System and method to improve hardware pre-fetching using translation hints |
US7380066B2 (en) * | 2005-02-10 | 2008-05-27 | International Business Machines Corporation | Store stream prefetching in a microprocessor |
US7350029B2 (en) * | 2005-02-10 | 2008-03-25 | International Business Machines Corporation | Data stream prefetching in a microprocessor |
US8069406B2 (en) * | 2005-02-11 | 2011-11-29 | Flash Networks, Inc. | Method and system for improving user experience while browsing |
US20070283273A1 (en) * | 2005-10-24 | 2007-12-06 | Woods Michael E | System, Method, and Computer Program Product for Internet Tool |
US8447837B2 (en) * | 2005-12-30 | 2013-05-21 | Akamai Technologies, Inc. | Site acceleration with content prefetching enabled through customer-specific configurations |
US8037127B2 (en) | 2006-02-21 | 2011-10-11 | Strangeloop Networks, Inc. | In-line network device for storing application-layer data, processing instructions, and/or rule sets |
NO325628B1 (no) | 2006-09-20 | 2008-06-30 | Opera Software Asa | Fremgangsmåte, datamaskinprogram, transkodingsserver og datamaskinsystem for å modifisere et digitalt dokument |
US20080228920A1 (en) | 2007-03-16 | 2008-09-18 | Souders Steven K | System and method for resource aggregation and distribution |
US8060486B2 (en) | 2007-05-07 | 2011-11-15 | Hewlett-Packard Development Company, L.P. | Automatic conversion schema for cached web requests |
US9165301B2 (en) | 2007-06-06 | 2015-10-20 | Core Audience, Inc. | Network devices for replacing an advertisement with another advertisement |
GB0722707D0 (en) * | 2007-11-19 | 2007-12-27 | St Microelectronics Res & Dev | Cache memory |
US20090254707A1 (en) | 2008-04-08 | 2009-10-08 | Strangeloop Networks Inc. | Partial Content Caching |
US9906620B2 (en) | 2008-05-05 | 2018-02-27 | Radware, Ltd. | Extensible, asynchronous, centralized analysis and optimization of server responses to client requests |
US20100050089A1 (en) | 2008-08-20 | 2010-02-25 | Company 100, Inc. | Web browser system of mobile communication terminal, using proxy server |
US9311425B2 (en) * | 2009-03-31 | 2016-04-12 | Qualcomm Incorporated | Rendering a page using a previously stored DOM associated with a different page |
US9171097B2 (en) * | 2009-03-31 | 2015-10-27 | Qualcomm Incorporated | Memoizing web-browsing computation with DOM-based isomorphism |
AU2010328326B2 (en) | 2009-12-07 | 2016-12-01 | Robert Buffone | System and method for website performance optimization and internet traffic processing |
US8417890B2 (en) * | 2010-06-09 | 2013-04-09 | International Business Machines Corporation | Managing cache coherency for self-modifying code in an out-of-order execution system |
US8788577B2 (en) | 2010-06-22 | 2014-07-22 | Akamai Technologies, Inc. | Method and system for automated analysis and transformation of web pages |
US8812658B1 (en) * | 2011-05-20 | 2014-08-19 | Amazon Technologies, Inc. | Pre-fetching of network page content |
US8954680B2 (en) * | 2011-11-20 | 2015-02-10 | International Business Machines Corporation | Modifying data prefetching operation based on a past prefetching attempt |
WO2013101079A1 (en) * | 2011-12-29 | 2013-07-04 | Intel Corporation | Profiling asynchronous events resulting from the execution of software at code region granularity |
US9043579B2 (en) * | 2012-01-10 | 2015-05-26 | International Business Machines Corporation | Prefetch optimizer measuring execution time of instruction sequence cycling through each selectable hardware prefetch depth and cycling through disabling each software prefetch instruction of an instruction sequence of interest |
US9817916B2 (en) * | 2012-02-22 | 2017-11-14 | Akamai Technologies Inc. | Methods and apparatus for accelerating content authored for multiple devices |
US8356074B1 (en) * | 2012-08-09 | 2013-01-15 | Limelight Networks, Inc. | Inter point of presence split architecture |
US8583763B1 (en) * | 2012-09-19 | 2013-11-12 | Edgecast Networks, Inc. | Sandboxing content optimization at the network edge |
US20140136952A1 (en) * | 2012-11-14 | 2014-05-15 | Cisco Technology, Inc. | Improving web sites performance using edge servers in fog computing architecture |
US9785621B2 (en) | 2012-11-26 | 2017-10-10 | Akamai Technologies, Inc. | Progressive consolidation of web page resources |
US20140281232A1 (en) * | 2013-03-14 | 2014-09-18 | Hagersten Optimization AB | System and Method for Capturing Behaviour Information from a Program and Inserting Software Prefetch Instructions |
JP6252348B2 (ja) * | 2014-05-14 | 2017-12-27 | 富士通株式会社 | 演算処理装置および演算処理装置の制御方法 |
US9348643B2 (en) * | 2014-06-30 | 2016-05-24 | International Business Machines Corporation | Prefetching of discontiguous storage locations as part of transactional execution |
US9336047B2 (en) * | 2014-06-30 | 2016-05-10 | International Business Machines Corporation | Prefetching of discontiguous storage locations in anticipation of transactional execution |
-
2014
- 2014-09-24 US US14/494,682 patent/US9477774B2/en active Active
- 2014-09-25 WO PCT/US2014/057325 patent/WO2015048207A1/en active Application Filing
- 2014-09-25 EP EP14849114.5A patent/EP3049960B1/en active Active
- 2014-09-25 CA CA2925003A patent/CA2925003C/en active Active
- 2014-09-25 CN CN201480052942.2A patent/CN105593840A/zh active Pending
-
2016
- 2016-10-22 US US15/331,831 patent/US10003666B2/en active Active
-
2018
- 2018-06-19 US US16/012,441 patent/US10110695B1/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030004998A1 (en) * | 2001-06-29 | 2003-01-02 | Chutney Technologies, Inc. | Proxy-based acceleration of dynamically generated content |
US20090217145A1 (en) * | 2008-02-27 | 2009-08-27 | Actionthis Limited | Methods and devices for post processing rendered web pages and handling requests of post processed web pages |
US20110029641A1 (en) * | 2009-08-03 | 2011-02-03 | FasterWeb, Ltd. | Systems and Methods Thereto for Acceleration of Web Pages Access Using Next Page Optimization, Caching and Pre-Fetching Techniques |
US20130227078A1 (en) * | 2012-02-23 | 2013-08-29 | Coach Wei | System and method for context specific website optimization |
CN103258056A (zh) * | 2013-05-31 | 2013-08-21 | 北京奇虎科技有限公司 | 处理风格样式表的方法、服务器、客户端和系统 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107451160A (zh) * | 2016-06-01 | 2017-12-08 | 广州市动景计算机科技有限公司 | 一种页面预读方法及装置 |
CN107451160B (zh) * | 2016-06-01 | 2020-10-16 | 阿里巴巴(中国)有限公司 | 一种页面预读方法及装置 |
CN108804514A (zh) * | 2018-04-25 | 2018-11-13 | 网宿科技股份有限公司 | 一种网页加载方法、服务器和网页加载系统 |
US11263284B2 (en) | 2018-04-25 | 2022-03-01 | Wangsu Science & Technology Co., Ltd. | Method and system for loading web page, and server |
Also Published As
Publication number | Publication date |
---|---|
US20180302492A1 (en) | 2018-10-18 |
EP3049960A1 (en) | 2016-08-03 |
CA2925003A1 (en) | 2015-04-02 |
WO2015048207A1 (en) | 2015-04-02 |
US10110695B1 (en) | 2018-10-23 |
EP3049960A4 (en) | 2017-05-24 |
US20170041424A1 (en) | 2017-02-09 |
US20150089352A1 (en) | 2015-03-26 |
CA2925003C (en) | 2021-11-09 |
US10003666B2 (en) | 2018-06-19 |
EP3049960B1 (en) | 2019-03-13 |
US9477774B2 (en) | 2016-10-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105593840A (zh) | 使用前端优化(feo)配置的关键资源预取 | |
US20190190977A1 (en) | System and method of automatic generation and insertion of analytic tracking codes | |
US10313463B2 (en) | Systems and methods for avoiding server push of objects already cached at a client | |
US10839038B2 (en) | Generating configuration information for obtaining web resources | |
US10812580B2 (en) | Using resource timing data for server push | |
CN105553999B (zh) | 应用程序用户行为分析和安全控制方法及其相应的装置 | |
WO2017124692A1 (zh) | 查找表单页面和目标页面转化关系的方法和装置 | |
CN113497723B (zh) | 日志处理方法、日志网关和日志处理系统 | |
CN110489195A (zh) | 业务处理方法、装置、电子设备和计算机可读存储介质 | |
CN107958009A (zh) | 企业信息获取方法、装置以及设备 | |
US9489241B2 (en) | Guaranteed response pattern | |
AU2019331371A1 (en) | System and method for providing customer specified webpage configuration | |
CN105074688A (zh) | 使用对等节点图的基于流的数据去重复 | |
KR20240149772A (ko) | 패킷 분석 기반 사용자 단말에서 실행되는 서비스의 속성 판단방법과 이를 수행하는 사용자 단말 및 컴퓨터프로그램 | |
US20130019017A1 (en) | Client bundle resource creation | |
US20120053967A1 (en) | System and Method for Account Reconciliation | |
CN103167554B (zh) | 网关流量压缩处理方法与装置、网络服务提供系统 | |
CN115601128A (zh) | 一种银行现金管理方法、装置及设备 | |
CN109214765A (zh) | 访客智能管理方法、装置、系统和计算机可读存储介质 | |
KR102189224B1 (ko) | 게이트웨이를 이용한 영업 정보 관리 방법 및 시스템 | |
CN106797403B (zh) | 用于处理高速缓存的内容资源的服务器、客户端设备和其中的方法 | |
CN102412986A (zh) | 基于一体化标识网络的运营商统一服务平台系统与方法 | |
CN110365633B (zh) | 通信流量控制方法、装置、计算机设备及存储介质 | |
Lin et al. | The design of a lightweight RFID middleware | |
CN116436981A (zh) | 路由控制方法、装置、计算机设备及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20160518 |