CN106462561B - 优化浏览器渲染过程 - Google Patents
优化浏览器渲染过程 Download PDFInfo
- Publication number
- CN106462561B CN106462561B CN201480078443.0A CN201480078443A CN106462561B CN 106462561 B CN106462561 B CN 106462561B CN 201480078443 A CN201480078443 A CN 201480078443A CN 106462561 B CN106462561 B CN 106462561B
- Authority
- CN
- China
- Prior art keywords
- content
- neutral
- url
- web page
- rendering
- 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.)
- Active
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 216
- 238000000034 method Methods 0.000 title claims abstract description 65
- 230000008569 process Effects 0.000 title claims abstract description 36
- 230000007935 neutral effect Effects 0.000 claims abstract description 112
- 238000013515 script Methods 0.000 claims abstract description 90
- 230000004044 response Effects 0.000 claims abstract description 18
- 230000015654 memory Effects 0.000 claims description 33
- 238000004891 communication Methods 0.000 description 14
- 238000012360 testing method Methods 0.000 description 11
- 230000009193 crawling Effects 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000011143 downstream manufacturing Methods 0.000 description 5
- 230000002776 aggregation Effects 0.000 description 2
- 238000004220 aggregation Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000011524 similarity measure Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 239000000758 substrate Substances 0.000 description 2
- 241000234282 Allium Species 0.000 description 1
- 235000002732 Allium cepa var. cepa Nutrition 0.000 description 1
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000002730 additional effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 229920001296 polysiloxane Polymers 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000003442 weekly effect Effects 0.000 description 1
Images
Classifications
-
- 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/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/14—Tree-structured documents
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)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
实现了优化识别内容中性网页并在没有脚本的情况下渲染此类网页的浏览器渲染过程。一种示例方法包括在脚本被打开的情况下生成网页的第一渲染结果,并且在脚本被关闭的情况下生成网页的第二渲染结果。所述方法还包括将第一渲染结果与第二渲染结果相比较以确定网页是否是内容中性的,并且当网页是内容中性的时,将用于网页的URL存储在内容中性URL的列表中。所述方法还可以包括接收用以渲染由URL识别的网页的请求,在渲染之前确定该URL是内容中性URL,并且响应于确定URL是内容中性URL而在脚本被关闭的情况下渲染网页。
Description
背景技术
许多网页是动态地创建的,意味着被web浏览器的用户观看的最后页面至少部分地由浏览器渲染过程生成。嵌入式对象,诸如脚本、图像以及样式表,常常被嵌入网页中并影响所渲染的网页的内容和外观。例如,执行脚本对象诸如JavaScript代码常常影响网页在用户看起来怎么样并改变针对该页面显示的内容。但是运行脚本对象是处理密集的,并且常常导致下载其它嵌入式对象,这对网络带宽而言可能变得繁重,并且可减慢网页的加载。在移动计算设备(诸如智能电话和平板电脑)中,此类附加活动可以耗费电池功率。
发明内容
实施方式识别内容中性网页,换言之,其中脚本对象不以任何显著的方式影响渲染网页的内容的网页。用于识别内容中性网页的模式可被存储并提供给浏览器。当浏览器准备好渲染网页时,其可检查以查看网页是否适合于模式中的一个。如果其适合,则浏览器可在脚本被关闭的情况下渲染网页。这允许浏览器更高效地渲染网页而不影响显示给用户的内容。在某些实施方式中,模式可包括浏览器类型,诸如移动对比完整浏览器,因为某些网页对于移动浏览器(例如在智能电话中)而言可以是内容中性的,但对于其它类型的浏览器而言不是。
在一个方面,一种***包括至少一个处理器和存储指令的存储器,该指令在被所述至少一个处理器执行时促使***执行操作。该操作包括:生成网页的第一渲染结果,该第一渲染结果是在脚本被打开的情况下渲染的;并且生成网页的第二渲染结果,该第二渲染结果是在脚本被关闭的情况下渲染的。所述操作还包括确定第一渲染结果和第二渲染结果中的差别是否是内容中性的,并且当该差别是内容中性的时,将用于该网页的URL识别为内容中性URL。
可以实现本文描述的主题的实施方式中的一个或多个从而实现以下优点中的一个或多个。例如,确定第一渲染结果和第二渲染结果中的任何差别是否是内容中性的可包括识别从第二渲染结果遗漏的第一渲染结果中的外链,并且响应于识别该外链而确定所述差别不是内容中性的。作为另一示例,确定第一渲染结果和第二渲染结果中的任何差别是否是内容中性的可以包括识别从第二渲染结果遗漏的第一渲染结果中的令牌,并且响应于识别该令牌而确定该差别不是内容中性的。作为另一示例,确定第一渲染结果和第二渲染结果中的任何差别是否是内容中性的可包括识别从第二渲染结果遗漏的第一渲染结果中的令牌的数量,确定该数量满足阈值,并且响应于确定该数量满足阈值而确定该差别不是内容中性的。可在确定令牌中的差别之前去除停用词(Stop word)。
作为另一示例,确定第一渲染结果和第二渲染结果中的任何差别是否是内容中性的可包括计算第一渲染结果的主要组件和第二渲染结果的主要组件之间的相似性分数,确定该相似性分数是否满足相似性阈值,并且当相似性分数满足相似性阈值时确定差别是内容中性的。
作为另一示例,所述操作还可包括针对获取记录中的多个网页中的每一个,生成网页的第一渲染结果,该第一渲染结果是在脚本被打开的情况下渲染的;生成网页的第二渲染结果,该第二渲染结果是在脚本被关闭的情况下渲染的;并且将第一渲染结果与第二渲染结果相比较以确定网页是否是内容中性的。当网页是内容中性的时,操作可包括将用于网页的URL存储在内容中性URL的列表中,并且当网页不是内容中性的时,将用于网页的URL存储在非内容中性URL的列表中。该操作还可包括使用内容中性URL的列表来确定至少一个模式并将该模式存储在内容中性URL数据存储中。在某些实施方式中,所述操作还可包括确定模式是否适用于非内容中性URL的列表中的URL,并且当模式未能适用于非内容中性URL的列表中的URL时将模式存储在内容中性URL数据存储中。在某些实施方式中,所述操作可包括确定与作为非内容中性URL的模式匹配的URL的百分比,并且当该百分比小于百分之一时将模式存储在内容中性URL数据存储中。
在另一方面,一种计算机实现方法包括使用至少一个处理器生成网页的第一渲染结果,该第一渲染结果是在脚本被打开的情况下渲染的;并且生成网页的第二渲染结果,该第二渲染结果是在脚本被关闭的情况下渲染的。本方法还可包括将第一渲染结果与第二渲染结果相比较以确定网页是否是内容中性的,并且当网页是内容中性的时,将用于网页的统一资源定位符(URL)存储在内容中性URL的列表中。
可以实现本文描述的主题的实施方式中的一个或多个从而实现以下优点中的一个或多个。例如,所述方法还可包括针对获取记录中的多个网页中的每一个在脚本被打开的情况下生成网页的第一渲染结果,在脚本被关闭的情况下生成网页的第二渲染结果,并且将第一渲染结果与第二渲染结果相比较以确定网页是否是内容中性的。本方法还可包括当网页是内容中性的时,将用于网页的URL存储在内容中性URL的列表中,并且当网页不是内容中性的时,将用于网页的URL存储在非内容中性URL的列表中。本方法还可包括根据内容中性URL的列表来确定至少一个模式并将该模式存储在内容中性URL数据存储中。在某些实施方式中,本方法还可包括确定与所述模式匹配的内容中性URL的列表中的第一数量的URL,确定与所述模式匹配的非内容中性URL的列表中的第二数量的URL,并且当第二数量小于第一数量和第二数量的和的百分之一时,将该模式存储在内容中性URL数据存储中。
在另一方面,一种方法包括接收用以渲染由URL识别的网页的请求,并且在渲染之前确定该URL是内容中性URL。本方法还可包括响应于确定URL是内容中性URL而在脚本被关闭的情况下渲染网页,无论用于脚本的浏览器设置如何。在某些实施方式中,确定URL是内容中性URL包括确定URL与内容中性URL的数据存储中的预定模式匹配。在某些实施方式中,确定URL是内容中性URL包括确定所述URL对于处理用以渲染网页的请求的浏览器类型而言是内容中性的。在某些实施方式中,确定URL是内容中性URL包括向服务发送请求,该服务确定URL是否是内容中性URL;并且从服务接收指示URL是内容中性URL的响应。
在另一方面,一种非暂时性计算机可读介质可包括指令,该指令可被在基板中形成的至少一个处理器执行,所述指令促使计算机***执行上述方法中的一个或多个。
可以实现本文描述的主题的实施方式中的一个或多个从而实现以下优点中的一个或多个。作为一个示例,在脚本被关闭的情况下渲染网页节省CPU和网络带宽及移动设备上的电池消耗。但是由于许多网页使用脚本来加载网页的内容,所以使用浏览器设置来始终关闭脚本使得观看者丢失内容。内容中性模式的数据存储允许浏览器在脚本不影响内容时选择性地将脚本关闭。针对内容中性URL关闭脚本导致更快的加载时间、减少的CPU使用、减少的RAM使用(因为***不需要启动脚本引擎)和减少的功率消耗。
附图说明
图1图示出根据公开主题的示例***。
图2是根据实施方式的用于渲染网页的渲染结果的框图。
图3是图示出根据实施方式的用于识别内容中性URL模式的示例过程的流程图。
图4是图示出根据实施方式的用于确定两个渲染结果是否是内容中性的示例过程的流程图。
图5是图示出根据实施方式的用于提供用于优化渲染的信息的示例过程的流程图。
图6示出了可以用来实现所述技术的计算机设备的示例。
图7示出了可以用来实现所述技术的分布式计算机设备的示例。
具体实施方式
所公开的实施方式识别内容中性网页或其中脚本对象对于渲染页面而言是内容中性的页面,并允许浏览器渲染引擎在不运行脚本的情况下渲染此类网页。这改善了渲染时间,常常是三倍,这对于具有有限资源的计算设备(诸如智能电话和平板电脑)而言是重要的。网页可以是当在脚本被打开的情况下渲染的网页的渲染结果类似于在脚本被关闭的情况下渲染的网页的渲染结果时的用于优化渲染的候选。可通过页面中的令牌的相似性、外链的相似性、页面布局的相似性等来确定相似性。在某些实施方式中,外链或令牌的任何差别可被视为显著差别。在某些实施方式中,当布局的主要组件具有满足阈值的相似性度量时,可认为渲染结果是相似的。如果页面中的脚本对象是内容中性的,则***可将网页存储在内容中性URL的列表中。在某些实施方式中,***可聚合内容中性URL以识别可以用来识别其它内容中性URL的模式。
当浏览器开始渲染网页时,其可问服务用于网页的脚本对象是否是内容中性的,即URL是否是内容中性的。服务可通过精确匹配或与数据仓库中的模式匹配而使被请求网页的URL与内容公众性URL的数据仓库匹配。如果服务发现匹配,则服务可告知浏览器该脚本对象是内容中性的,并且浏览器可继续在脚本被关闭的情况下渲染网页。否则,(例如如果用于网页的URL与数据仓库中的模式不匹配),浏览器将在脚本被打开的情况下渲染页面,或者使用浏览器设置来确定是否要在渲染网页时运行脚本。此类优化浏览器渲染使得浏览器渲染过程更加资源高效。在某些实施方式中,内容中性URL数据仓库可在移动浏览器与台式浏览器之间进行区别。
图1是根据示例实施方式的***的框图。***100可用来识别内容中性URL和内容中性URL模式,并且使用该模式来优化浏览器渲染过程。***100可包括采取许多不同设备的形式的计算设备。例如,***100可包括作为如图6中描绘的计算机设备600和如图7中描绘的计算机设备700的示例的计算设备。
***100可包括批量渲染***110。批量渲染***110可以是标准服务器、一组此类服务器、客户端-服务器***或机架式服务器***。另外,可在个人计算机中实现批量渲染***110。批量渲染***110可包括一个或多个处理器,其被配置成执行存储在存储器中的一个或多个机器可执行指令或部分软件、固件或其组合。例如,批量渲染***110可包括渲染引擎120、获取服务122、web爬取引擎124以及内容中性URL识别引擎126。批量渲染***110可在批量模式下产生渲染网页,例如作为编索引过程的一部分,并且在该过程中产生获取记录132,批量渲染***110可将该获取记录132用来生成内容中性URL模式130。
下游过程可请求批量渲染***110在批量模式下渲染网页。在某些实施方式中,批量渲染***110可包括下游过程(未示出)。例如,下游过程可以是编索引引擎或广告平台。下游过程可请求批量渲染引擎120中的一个生成用于特定网页的渲染结果。每个批量渲染引擎120可被配置成模拟用于个人web浏览器的渲染器,但是具有针对批量渲染的优化。该网页可包括嵌入式对象,诸如样式表、JavaScript、图像等。批量渲染引擎120可使用获取服务122来请求用于嵌入式对象的内容。
获取服务122可确定哪些嵌入式对象需要从主机服务器190获取,哪些嵌入式对象可以被从高速缓存器返回,并且哪些对象不需要被返回。主机服务器190可以是可通过托管一个或多个网页或被嵌入一个或多个网页中的资源的因特网访问的任何类型的计算设备。如果需要获取嵌入式对象,则获取服务122可使用常规技术经由web爬取引擎124来请求用于嵌入式对象的内容。诸如编索引引擎之类的下游过程还可经由web爬取引擎124从服务器190请求内容。作为获取请求的结果,批量渲染***110可生成获取记录132。获取记录132可包括关于哪些网页被从主机服务器190请求和检索的信息。
web爬取引擎124、批量渲染引擎120以及获取服务122一起工作以高效地渲染许多网页,诸如可以在万维网上找到的网页。网页的渲染的结果是渲染结果,其包括对下游请求过程有用且否则不可用于该下游请求过程的各种数据元素。内容中性URL识别引擎126可使用批量渲染引擎120来生成内容中性URL模式130。内容中性URL识别引擎126可使用获取记录132作为输入而周期性地(例如,每日、每周两次等)运行。内容中性URL识别引擎126可让批量渲染引擎120在脚本被打开的情况下从获取记录132生成URL的第一渲染结果,并且在脚本被关闭的情况下生成URL的第二渲染结果。诸如JavaScript之类的脚本对象是包括在网页中的在网页被浏览器渲染时执行的代码。脚本对象可以操纵渲染网页的外观和内容,将其它脚本对象的执行初始化,从因特网下载附加内容等。因此,意图由浏览器来执行脚本对象。但是运行脚本对象消耗高水平的处理资源,并且常常导致附加内容获取,其减慢渲染过程、占用带宽并消耗功率资源。虽然浏览器通常包括用以将脚本关闭的设置,这加速渲染过程,但结果得到的内容可能受到影响,并且页面可能不会正确地渲染或者可能遗漏内容。
为了确定URL的渲染内容是否受到运行脚本对象的影响,内容中性URL识别引擎126请求脚本被打开的情况下的URL的第一渲染结果和脚本被关闭的情况下的URL的第二渲染结果。例如,内容中性URL识别引擎126可请求批量渲染引擎120中的一个提供渲染结果。内容中性URL识别引擎126可比较第一渲染结果和第二渲染结果以确定运行脚本对象是否影响渲染网页的内容。在某些实施方式中,如果内容受到影响,则可将该URL添加到非内容中性URL的列表。如果内容未受到显著影响(例如,类似),则内容中性URL识别引擎126可将URL识别为内容中性。在某些实施方式中,可将URL存储在数据存储中,诸如内容中性URL模式130。在某些实施方式中,可将URL存储在内容中性URL的临时列表中,并在稍后的时间用来确定用于内容中性URL的模式。因此,在某些实施方式中,内容中性URL识别引擎126对许多URL执行此测试并确定内容中性的URL的模式。例如,内容中性URL识别引擎126可将用于属于同一主机的所有URL的内容中性状态聚合。如果主机的所有URL都是内容中性的,则可将主机作为模式包括在内容中性URL模式130中模式。在某些实施方式中,如果与模式匹配的小百分比(例如,小于1%)的URL是内容中性的,则内容中性URL识别引擎126可将该主机作为模式包括在内容中性URL模式130中模式。在某些实施方式中,内容中性URL和非内容中性URL的列表的聚合可产生模式也可被用于例如主机内的某些路径的其它模式。
在某些实施方式中,内容中性URL识别引擎126还可验证内容中性URL模式130中的模式仍是内容中性的。例如,内容中性URL识别引擎126可选择与模式匹配的URL的样本,让渲染引擎在脚本打开的情况下和脚本关闭的情况下生成渲染结果,并比较两个渲染结果。如果与内容中性URL模式130中的模式匹配的URL不再是内容中性的,则可去除该模式。
在某些实施方式中,内容中性URL识别引擎126可确定URL或URL模式对于与传统个人浏览器分开的移动浏览而言是否是内容中性的。例如,某些网站具有网页的移动版本和完整版本,并且移动版本可以是内容中性的,而完整版本不是。因此,内容中性URL识别引擎126可渲染用于URL的四个渲染结果。前两个渲染结果可以被模拟传统个人浏览器的渲染引擎渲染,而后两个渲染结果可被模拟在移动设备(诸如智能电话或平板电脑)上的浏览器的渲染引擎渲染。内容中性URL模式130因此可包括按浏览器类型例如针对移动浏览器或针对传统浏览器来指示模式是否是内容中性的数据。
虽然在图1中为了简明起见而未示出,但在某些实施方式中,批量渲染***110可分布在两个或更多单独计算设备上。另外,可将批量渲染引擎120、获取服务122、web爬取引擎124以及内容中性URL识别引擎126中的一个或多个跨一个或多个计算设备分布。在某些实施方式中,批量渲染引擎120、获取服务122、web爬取引擎124以及内容中性URL识别引擎126中的一个或多个可与批量渲染***110的其它组件共享资源,诸如存储器或硬件处理器。同样地,还可将获取记录132和内容中性URL模式130存储在跨多个计算设备分布的存储器中。在某些实施方式中,批量渲染***110的各种组件可共享计算设备的硬件组件,或者可以是同一计算设备的逻辑划分。
批量渲染***110可通过网络160与客户端180和服务器190通信。网络160可以是例如因特网,或者网络160可以是使用例如网关设备、桥接器、交换机等实现的有线或无线局域网(LAN)、广域网(WAN)、这些的组合等。经由网络160,批量渲染***110可与客户端180和/或主机服务器190通信并向/从其传送数据。例如,批量渲染***110可向客户端180提供内容中性URL模式130,或者可从客户端180接收询问特定URL是否是内容中性的请求,并且可基于内容中性URL模式130来提供响应。
客户端180可以是个人计算设备,诸如在图6中描绘的计算设备600,个人web浏览器140已被安装。个人web浏览器的示例包括CHROME、SAFARI、INTERNET EXPLORER、FIREFOX等,无论是针对诸如智能电话或平板电脑之类的移动设备或者诸如膝上计算机或台式计算机之类的个人计算机。浏览器140可被配置成使用服务来确定是否可在脚本被关闭的情况下渲染特定URL。在某些实施方式中,服务可向客户端180推送内容中性URL模式130的拷贝以供浏览器140使用。在某些实施方式中,浏览器140可被配置成让服务确定特定URL与内容中性URL模式130中的模式中的一个是否匹配。浏览器140通过使用服务来确定是否可以在脚本被关闭的情况下渲染特定URL并在特定URL是内容中性的时在脚本被关闭的情况下执行渲染来执行优化渲染。因此,浏览器140可被配置成在没有用户的动作的情况下选择性地将脚本打开和关闭,无论脚本浏览器设置如何,并且可以这样做以在内容不受影响的情况下节省资源。
图2是根据实施方式的由批量渲染引擎120渲染的渲染结果200的框图。渲染结果200可包括多种组件,在图2中并未示出其全部。例如,渲染结果200可以包括渲染页面的图像205。图像205可以是将经由显示设备而经由web浏览器向用户显示的图像。图像205可以用来例如向用户显示渲染页面的缩略图,并且确定在显示器上网页的元素在哪里出现(例如,基于其x和y坐标)。渲染结果200还可以包括文档对象模型(DOM)树210。DOM树210表示网页的HTML结构。例如,DOM树210包括用于网页的令牌和外链。渲染结果200还可包括布局215。布局215包括用于网页的每个元素的框,该框指定图像205中的元素的x和y坐标。因此,布局215提供在网页上元素在哪里出现、其在网页上占用多少空间等的指示。因此,布局215提供关于网页中的多少是广告、段落突出多少(例如,行上或行下)、元素是否可见等的信息。换言之,布局215提供关于渲染网页的元素的几何信息。渲染结果200还可包括错误220。错误220包括由于运行脚本对象(例如,JavaScript)而遇到的错误。渲染结果200还可包括在渲染期间获取的嵌入式资源225的列表,并且可包括作为渲染过程的一部分生成的其它元素(未示出)。因此,渲染结果200提供仅仅经由对来自托管服务器的内容的获取不可用的信息。下游请求过程(诸如内容中性URL识别引擎)可以出于各种目的使用渲染结果信息,从而确定运行脚本对象是否显著地改变渲染网页的内容。例如,网页的广告部分中的内容可能不被认为是重要的,因此URL仍可以是内容中性的,即使在广告部分中具有差别。在某些实施方式中,可仅认为布局的主要组件中的差别是重要的。主要组件可以是布局215中的最大框(例如,具有最大高度和宽度的框)。
图3是图示出根据实施方式的用于识别内容中性URL模式的示例过程300的流程图。过程300可由***(诸如图1的***110)执行。该***可使用过程300来在脚本被打开的情况下生成网页的渲染结果,在脚本被关闭的情况下渲染网页的第二渲染结果,并且比较渲染结果以确定脚本是否以任何显著或重要的方式影响内容,或者换言之脚本是否是内容中性的。在某些实施方式中,***可基于特定URL的渲染结果来确定用于内容中性URL的模式。可将该模式存储在数据存储中,并用作允许个人浏览器(无论是完整的还是移动的)通过当所请求的URL是内容中性的时关闭脚本来优化渲染的服务的一部分。
过程300可从***从获取记录获得网页开始(305)。该获取记录可来自记录经由web爬取引擎对于网页或嵌入式对象的获取请求的文件。在某些实施方式中,可将获取记录生成作为编索引过程的一部分,例如用于经由因特网可用的文档的编索引过程。可在获取记录中用标识符(诸如URL)来识别网页。因此,还可将网页称为URL,并且应理解的是对网页的参考和URL一般地是同义词,如本文所使用的。***可在脚本被打开的情况下生成网页的第一渲染结果(310)。换言之,***可在生成第一渲染结果时运行JavaScript(或其它脚本语言)。***还可在脚本被关闭的情况下生成用于网页的第二渲染结果(315)。***然后可比较第一渲染结果和第二渲染结果以确定渲染结果是否是内容中性的(320)。
该***可使用多种测试来确定渲染结果是否是内容中性的,如相对于图4更详细地讨论的。如果渲染结果是内容中性的(320,是),则***可将网页的URL添加到内容中性URL的列表(330)。此列表可以是用来确定用于内容中性URL的模式的临时列表。如果渲染结果不是相似的(320,否),则***可将网页的URL添加到非内容中性URL的列表(325)。此列表中的网页不能在不损失内容的情况下在将脚本关闭的情况下渲染。非内容中性URL的列表还可以是存储在临时存储器中并用来确定用于内容中性URL的模式的列表。如果在获取记录中存在要检查的其它网页(335,否),则***可从获取记录获得下一个URL(340)并使用下一个网页重复步骤305至330。在某些实施方式中,步骤305至340所表示的循环可持续直至已经针对内容中立性检查获取记录中的所有URL为止。在某些实施方式中,可仅检查某个日期或时间之后的获取记录。
如果已针对内容中立性检查获取记录中的所有网页(335,是),则***可使用内容中性URL的列表和非内容中性URL的列表来确定用于内容中性URL的模式(345)。在某些实施方式中,***可将作为URL的一部分的任何查询串剥离,潜在模式是URL的其余部分。如果没有查询串的其余部分匹配,则URL与潜在模式匹配。在某些实施方式中,***可剥去除URL的主机部分之外的一切。如果主机部分匹配,则URL与模式匹配,无论后来出现的是什么。在某些实施方式中,***可使用其它形式的聚合(诸如聚类)来确定模式。模式可反映主机(例如,www.pattern.com),或者可反映主机内的不同目录(例如,www.pattern.com/services)等。为了查看潜在模式是否是内容中性的,则***可确定与模式匹配的非内容中性URL列表中的URL的数量和与模式匹配的内容中性URL列表中的URL的数量。在某些实施方式中,如果非内容中性URL列表中的URL与潜在模式匹配,则认为潜在模式是非内容中性的。在某些实施方式中,与潜在模式匹配的小百分比(例如,1%或以下)的URL可以是非内容中性的,并且仍可认为模式是内容中性的。如果潜在模式是内容中性的,则***可将模式存储在数据存储中(350)。数据存储可以被服务用来允许浏览器通过当脚本不影响内容(例如,URL是内容中性的)时将脚本关闭来优化网页的渲染。
在某些实施方式中,***可用由不同浏览器类型渲染的渲染结果重复过程300中的某些或全部。例如,浏览器类型可以是完整浏览器或移动浏览器。如果第一和第二渲染结果被完整浏览器渲染,则***可使用移动浏览器来重复步骤305至335。因此,内容中性URL的列表可包括浏览器类型的指示,并且数据存储中的模式也可包括浏览器类型的指示。这允许***指示URL是否对于一个浏览器类型(例如,移动浏览器)而言是内容中性的且对于不同浏览器类型(例如,完整浏览器)而言不是。
图4是图示出根据实施方式的用于确定两个渲染结果是否是内容中性的示例过程400的流程图。过程400可例如作为图3的步骤320的一部分执行。虽然过程400图示出用于确定渲染结果相似性的三个测试,但应理解的是实施方式可包括所示测试中的一个、两个或全部,并且可包括未示出的附加相似性测试。
过程400可包括比较两个渲染结果中的令牌(405)。该令牌包括文档的文本,例如用户可见的单词。可通过处理DOM树(诸如图2的DOM树210)来产生令牌。在某些实施方式中,可在执行比较之前去除停止词和数。如果用于第一渲染结果的令牌不同于用于第二渲染结果的令牌(410,是),则***可以可选地确定通过在脚本被打开的情况下进行渲染而添加的独特令牌的数量是否小于令牌阈值(415)。换言之,如果在脚本被打开的情况下进行渲染结果仅是几个独特令牌,则***可认为该差别是不显著的。在某些实施方式中,令牌阈值可以是5。如果添加的独特令牌的数量满足令牌阈值(415,否),则***可认为渲染结果并不是相似的(430)。当渲染结果不是相似的时,用来生成渲染结果的URL不是内容中性的。在某些实施方式中,***可跳过测试415,并且可认为令牌中的任何差别是显著的且渲染结果不是相似的。如果该数量未能满足令牌阈值(415,是),则***可认为令牌中的差别是不显著的。因此,如果用于第一渲染结果的独特令牌与第二渲染结果中的令牌相同(410,否)或者独特令牌的数量未能满足令牌阈值(415,是),则可认为渲染结果是相似的,并且***可继续执行其它测试。在仅包括令牌测试的实施方式中,***可直接地前进至步骤445,确定渲染结果是相似的。
在某些实施方式中,如果令牌是相同的(410,否)或(415,是),则***可比较外链(420)。外链表示从渲染页面到其它网页或其它文档的链接。还可从渲染结果的DOM树的锚定标签节点(<a>标签)提取外链。如果***发现外链中的差别(425,是),则***可认为差别是显著的,并且渲染结果不是相似的(430)。因此,不认为网页是内容中性的。如果两个渲染结果中的外链是相同的(425,否),则***可认为渲染结果是相似的(例如,通过前进至步骤450),或者可继续执行其它相似性测试。在某些实施方式中,***可在步骤405和415之前且独立于步骤405和415执行步骤420和425。
在另一相似性测试中,***可确定布局的主要组件(435)。渲染结果的布局由框构成—每个框由屏幕坐标限定。一般地,每个框对应于网页的相应元素。例如,布局可以包括DOM树中的DOM节点的框表示(但并不是每个DOM元素都可具有对应的渲染框)。可以树状结构(也称为渲染树)组织框。因此,例如,可用布局中的框来表示表格,并且可用布局中的另一框来表示段落。网页的主要组件是布局中的具有最大框的那些元素,如由屏幕坐标限定的。在某些实施方式中,***可将预定数量的主要组件放置在集合中,例如使得该集合包括主要组件中的最大的。在某些实施方式中,***可包括构成集合中的屏幕的一定百分比的主要组件。在此类实施方式中,如果最大主要组件占用超过该百分比,则最大主要组件可以是该集合的唯一成员。在某些实施方式中,具有在阈值以上的框尺寸的任何组件可被包括在主要组件的集合中。在某些实施方式中,***可使用剥洋葱技术来找到主要组件。例如,在渲染树的根框处开始,***可执行广度优先搜索并识别根框的最大子框。***然后可选择最大子框并继续深入,找到当前框的最大子框(例如,根框的最大子框)。***可在没有一个子框占主导(例如占据超过父框面积的一半)时停止继续深入。当***停止继续深入时,主要组件是未能具有主导子框的框。
***可计算集合中的主要组件之间的相似性分数(440)。例如,***可使用主要组件框的重叠分数。在重叠分数中,***可计算用于主要组件的重叠面积,其表示与第二渲染结果中的对应的主要组件的面积重叠的第一渲染结果中的主要组件的面积。***然后可计算相似性分数,其表示相对于每个主要组件的总面积而言的重叠的调和平均。例如,***可使用公式其中,oa是两个组件之间的重叠面积,a1是第一渲染结果中的主要组件框的总面积,并且a2是第二渲染结果中的主要组件框的总面积。当然,***可使用其它相似性度量来计算分数。此类相似性度量的示例包括但不限于Katz相似性。如果相似性分数满足相似性阈值(445,是),则渲染结果被认为是相似的,并且因此网页是内容中性的(450)。在某些实施方式中,相似性阈值可以是高的,例如80%或更高。如果相似性分数未能满足阈值(445,否),则***可认为渲染结果并不是类似的(430)。在某些实施方式中,如果相似性分数满足相似性阈值(445,是),则***可基于在图4中未示出的渲染结果执行附加相似性测试。例如,***可计算用于DOM树或布局或渲染结果的另一组件的最长公共序列(LCS),并且使用该LCS值来确定渲染结果是否是相似的。例如,如果LCS的相似性满足阈值,则***可认为渲染结果是相似的。一旦***已确定渲染结果是相似的(450)或不是相似的(430),过程400结束。
图5是图示出根据实施方式的用于提供用于优化渲染的信息的示例过程500的流程图。过程500可作为用于浏览器的服务运行。浏览器可以是移动或完整的客户端浏览器,诸如图1的浏览器140,或批量渲染引擎,诸如图1的批量渲染引擎120。在某些实施方式中,服务可以是基于云的服务。换言之,浏览器可经由网络向基于云的服务发送请求,基于云的服务可向浏览器提供响应。在某些实施方式中,服务可在服务器诸如图1的批量渲染***110上运行。在其它实施方式中,服务可在浏览器在其上面运行的计算设备的本地。例如,可将内容中性URL模式的数据存储推送到运行浏览器的计算设备,并且可在计算设备处执行服务。在某些实施方式中,服务可在客户端诸如图1的客户端180上运行。
过程500以服务从浏览器接收到URL开始(505)。浏览器可以是移动浏览器、完整浏览器,并且可在客户端上或者作为批量渲染引擎运行。服务可确定来自请求的URL是否与内容中性URL模式匹配(510)。在某些实施方式中,模式可表示完整URL,使得在整个被请求的URL上实现匹配。在某些实施方式中,模式可表示部分URL,例如查询串被去除或者用通配符来替换各个部分。如果所请求URL确实与内容中性数据存储中的至少一个模式匹配(510,是),则服务提供指示URL是内容中性的且可以在脚本被关闭的情况下渲染的响应(515)。响应于此指示,浏览器可在脚本关闭的情况下渲染URL,节省处理和带宽资源。浏览器可无论用以运行脚本的浏览器设置是否被打开都完成此操作。如果所请求URL与内容中性数据存储中的模式不匹配(510,否),则服务提供响应,该响应指示URL是非内容中性的,并且如果在脚本被关闭的情况下渲染,内容将丢失。响应于此指示,浏览器可根据用以运行脚本的浏览器设置(其通常被设置成在脚本被打开的情况下渲染)来渲染URL。过程500然后结束,已提供了浏览器可以用来优化渲染过程的信息。
图6示出了可与这里描述的技术一起使用的通用计算机设备600的示例,该计算机设备600可充当批量渲染***110和/或图1的客户端180。计算设备600意图表示各种示例形式的计算设备,诸如膝上计算机、台式计算机、工作站、个人数字助理、蜂窝式电话、智能电话、平板电脑、服务器及其它计算设备,包括可穿戴设备。这里所示的组件、其连接和关系以及其功能意图仅仅是示例性的,并不意图限制在本文中描述和/或要求保护的本发明的实施方式。
计算设备600包括经由接口608连接的处理器602(例如,基于硅树脂的硬件处理器)、存储器604、存储设备606以及扩展端口610。在某些实施方式中,计算设备600可包括被经由接口608连接的收发机646、通信接口644以及GPS(全球定位***)接收机模块648以及其它组件。设备600可通过通信接口644无线地进行通信,该通信接口644在必要时可包括数字信号处理电路。组件602、604、606、608、610、640、644、646和648中的每一个可在公共母板上或适当地以其它方式安装。
处理器602可以处理用于在计算设备600内执行的指令,包括存储在存储器604中或存储设备606上以在外部输入/输出设备上诸如显示器616上显示用于GUI的图形信息。显示器616可以是监视器或平面触摸屏显示器。在某些实施方式中,可适当地使用多个处理器和/或多个总线以及多个存储器和多种类型的存储器。并且,可连接多个计算设备600,每个设备提供所需操作的多个部分(例如,作为服务器组、一组刀片服务器或多处理器***)。
存储器604存储计算设备600内的信息。在一个实施方式中,存储器604是易失性存储器单元。在另一实施方式中,存储器604是非易失性存储器单元。存储器604还可以是另一形式的计算机可读介质,诸如磁盘或光盘。在某些实施方式中,存储器604可包括通过扩展接口提供的扩展存储器。
存储设备606能够为计算设备600提供大容量存储。在一个实施方式中,存储设备606可以是或包括计算机可读介质,诸如软盘设备、硬盘设备、光盘设备或磁带设备、闪存或其它类似固态存储器设备或设备阵列,包括存储区域网或其它配置中的设备。可以在此类计算机可读介质中有形地体现计算机程序产品。该计算机程序产品还可包括指令,该指令在被执行时执行一个或多个方法,诸如上文所述的那些。计算机或机器可读介质是存储设备,诸如存储器604、存储设备606或处理器602上的存储器。
接口608可以是管理用于计算设备600的带宽密集操作的高速控制器或管理较低带宽密集操作的低速控制器或此类控制器的组合。可提供外部接口640,从而使得能够实现设备600与其它设备的近场通信。在某些实施方式中,控制器608可被耦合到存储设备606和扩展端口614。可包括各种通信端口(例如,USB、BLUETOOTH、Ethernet、无线Ethernet等)的扩展端口可例如通过网络适配器耦合到一个或多个输入/输出设备,诸如键盘、定点设备、扫描仪或联网设备,诸如交换机或路由器。
可用许多不同的形式来实现计算设备600,如图中所示。例如,可将其实现为标准服务器630或者在一组此类服务器中实现多次。还可将其实现为机架式服务器***的一部分。另外,其可在个人计算设备(诸如膝上型计算机632、台式计算机634或平板电脑或智能电话636)中实现。整个***可由相互通信的多个计算设备600构成。可以有其它配置。
图7示出了可与这里描述的技术一起使用的通用计算机设备700(其可以是图1的***110)的示例。计算设备700意图表示各种示例形式的大规模数据处理设备,诸如服务器、刀片服务器、数据中心、主机及其它大规模计算设备。计算设备700可以是具有被一个或多个通信网络互连的多个处理器(可能包括网络附接存储节点)的分布式***。这里所示的组件、其连接和关系以及其功能意图仅仅是示例性的,并不意图限制在本文中描述和/或要求保护的本发明的实施方式。
分布式计算设备700可包括任何数目的计算设备780。计算设备780可包括通过局域网或广域网、专用光学链路、调制解调器、桥接器、路由器、交换机、有线或无线网络等通信的服务器或机架式服务器、主机等。
在某些实施方式中,每个计算设备可包括多个机架。例如,计算设备780a包括多个机架758a—758n。每个机架可包括一个或多个处理器,诸如处理器752a—752n和762a—762n。处理器可包括数据处理器、网络附接存储设备及其它计算机控制设备。在某些实施方式中,一个处理器可充当主处理器并控制调度和数据分配任务。处理器可通过一个或多个机架交换机758被互连,并且一个或多个机架可通过交换机778被连接。交换机778可处理多个连接计算设备700之间的通信。
每个机架可包括存储器(诸如存储器754和存储器764)以及储存器(诸如756和766)。储存器756和766可提供大容量储存器,并且可包括易失性或非易失性储存器,诸如网络附接盘、软盘、硬盘、光盘、磁带、闪存或其它类似固态存储器设备或设备阵列,包括存储区域网或其它配置中的设备。储存器756或766可在多个处理器、多个机架或多个计算设备之间被共享,并且可包括存储可被处理器中的一个或多个执行的指令的计算机可读介质。存储器754和764可包括例如易失性存储器单元、非易失性存储器单元和/或其它形式的计算机可读介质,诸如磁盘或光盘、闪存、高速缓存器、随机存取存储器(RAM)、只读存储器(ROM)及其组合。存储器(诸如存储器754)还可在处理器752a—752n之间被共享。可例如跨储存器756和存储器754存储数据结构,诸如索引。计算设备700可包括未示出的其它组件,诸如控制器、总线、输入/输出设备、通信模块等。
整个***(诸如***110)可由相互通信的多个计算设备700构成。例如,设备780a可与设备780b、780c以及780d通信,并且这些可被统称为***100。作为另一示例,图1的***100可包括一个或多个计算设备700。某些计算设备可位于在地理上相互接近处,并且其它的可在地理上位于远处。计算设备700的布局仅仅是示例,并且***可采取其它布局或配置。
这些不同实施方式可以包括以一个或多个计算机程序的实施方式,所述一个或多个计算机程序可以在可编程***上执行和/或解释,所述可编程***包括可以是通用或专用的、被耦合以从存储***接收数据和指令以及向其发射数据和指令的在基板中形成的至少一个可编程处理器、至少一个输入设备以及至少一个输出设备。
这些计算机程序(也称为程序、软件、软件应用程序或代码)包括用于可编程处理器的机器指令,并且可以用高级过程和/或面向对象程序设计语言和/或用汇编/机器语言来实现。如本文所使用的,术语“机器可读介质”、“计算机可读介质”指的是被用来向可编程处理器提供机器指令和/或数据的任何非暂时性计算机程序产品、装置和/或设备(例如,磁盘、光盘、存储器(包括读访问存储器)、可编程逻辑器件(PLD))。
可以在计算***中实现这里所述的***和技术,该计算***包括后端组件(例如,作为数据服务器),或者其包括中间件组件(例如,应用服务器),或者其包括前端组件(例如,客户端计算机,其具有用户可以通过其与这里所述的***和技术的实施方式相交互的图形用户界面或web浏览器)或此类后端、中间件或前端组件的任何组合。可以由任何形式或介质的数字数据通信(例如,通信网络)将***的组件互连。通信网络的示例包括局域网(“LAN”)、广域网(“WAN”)以及因特网。
计算***可以包括客户端和服务器。客户端和服务器一般地相互远离并通常通过通信网络进行交互。客户端和服务器的关系借助于在相应计算机上运行且相互具有客户-服务器关系的计算机程序发生。
已描述了许多实施方式。然而,在不脱离本发明的精神和范围的情况下,可进行各种修改。另外,图中所描绘的逻辑流程不要求所示的特定顺序或连续顺序以实现期望的结果。另外,从所述流程,可提供其它步骤或者可消除步骤,并且还可向所述***添加或从其去除其它组件。因此,其它实施方式在所附权利要求的范围内。
Claims (18)
1.一种计算机***,包括:
至少一个处理器;以及
存储指令的存储器,所述指令在被所述至少一个处理器执行时促使所述至少一个处理器执行操作,所述操作包括:
生成网页的第一渲染结果,所述第一渲染结果是在脚本被打开的情况下渲染的,
生成所述网页的第二渲染结果,所述第二渲染结果是在脚本被关闭的情况下渲染的,
确定所述第一渲染结果的主要组件集合和所述第二渲染结果的主要组件集合之间的相似性分数,并且
响应于确定所述相似性分数满足相似性阈值,将用于所述网页的URL识别为内容中性URL,其中,在被web浏览器请求时,所识别的内容中性URL在脚本被关闭的情况下被渲染,而无论作出请求的所述web浏览器的脚本设置如何。
2.根据权利要求1所述的计算机***,其中,所述操作进一步包括:
识别从所述第二渲染结果遗漏的所述第一渲染结果中的外链;以及
响应于识别所述外链而将用于所述网页的所述URL识别为内容中性URL。
3.根据权利要求1所述的计算机***,其中,所述操作进一步包括:
识别从所述第二渲染结果遗漏的所述第一渲染结果中的令牌;以及
响应于识别所述令牌而将用于所述网页的所述URL识别为内容中性URL。
4.根据权利要求3所述的计算机***,其中,停用词和数在识别所述令牌之前被去除。
5.根据权利要求1所述的计算机***,其中,所述操作进一步包括:
识别从所述第二渲染结果遗漏的所述第一渲染结果中的令牌的数量;
确定所述数量满足阈值;以及
响应于确定所述数量满足所述阈值而将用于所述网页的所述URL确定为内容中性URL。
6.根据权利要求1所述的计算机***,其中,所述主要组件集合包括构成屏幕空间的百分比的主要组件。
7.根据权利要求1所述的计算机***,其中,所述操作还包括:
针对获取记录中的多个网页中的每一个:
生成所述网页的第一渲染结果,所述第一渲染结果是在脚本被打开的情况下渲染的,
生成所述网页的第二渲染结果,所述第二渲染结果是在脚本被关闭的情况下渲染的,
将所述第一渲染结果与所述第二渲染结果相比较以基于主要部分的比较来确定所述网页是否是内容中性的,
当所述网页是内容中性的时,将用于所述网页的URL存储在内容中性URL的列表中,以及
当所述网页不是内容中性的时,将用于所述网页的URL存储在非内容中性URL的列表中;以及
使用所述内容中性URL的列表来确定用于识别内容中性网页的至少一个模式;以及
将所述模式存储在内容中性URL数据存储中。
8.根据权利要求7所述的计算机***,其中,所述操作还包括:
确定所述模式是否适用于所述非内容中性URL的列表中的URL;以及
当所述模式未能适用于所述非内容中性URL的列表中的URL时,将所述模式存储在所述内容中性URL数据存储中。
9.根据权利要求7所述的计算机***,其中,所述操作还包括:
确定与作为非内容中性URL的所述模式匹配的URL的百分比;以及
当所述百分比小于百分之一时,将所述模式存储在所述内容中性URL数据存储中。
10.一种用于优化网页的渲染的方法,包括:
使用至少一个处理器生成网页的第一渲染结果,所述第一渲染结果是在脚本被打开的情况下渲染的;
使用所述至少一个处理器生成所述网页的第二渲染结果,所述第二渲染结果是在脚本被关闭的情况下渲染的;
计算所述第一渲染结果的主要组件集合与所述第二渲染结果的主要组件集合的相似性分数;
当所述相似性分数满足阈值时,确定所述网页是内容中性的;以及
当所述网页被确定是内容中性的时,将用于所述网页的URL存储在内容中性URL的列表中,其中,在被web浏览器请求时,所存储的URL在脚本被关闭的情况下被渲染,而无论作出请求的所述web浏览器的脚本设置如何。
11.根据权利要求10所述的方法,其中,所述相似性分数表示用于主要组件集合的边框中的重叠数量。
12.根据权利要求10所述的方法,还包括:
针对获取记录中的多个网页中的每一个:
生成所述网页的第一渲染结果,所述第一渲染结果是在脚本被打开的情况下渲染的,
生成所述网页的第二渲染结果,所述第二渲染结果是在脚本被关闭的情况下渲染的,
将所述第一渲染结果与所述第二渲染结果相比较以基于主要部分的比较确定所述网页是否是内容中性的,
当所述网页是内容中性的时,将用于所述网页的URL存储在所述内容中性URL的列表中,以及
当所述网页不是内容中性的时,将用于所述网页的URL存储在非内容中性URL的列表中;以及
根据所述内容中性URL的列表来确定用于识别内容中性网页的至少一个模式;以及
将所述模式存储在内容中性URL数据存储中。
13.根据权利要求12所述的方法,还包括:
确定所述模式是否与来自所述非内容中性URL的列表的URL匹配;以及
当所述模式未能与来自所述非内容中性URL的列表的URL匹配时,将所述模式存储在所述内容中性URL数据存储中。
14.根据权利要求12所述的方法,还包括:
确定与所述模式匹配的所述内容中性URL的列表中的第一数量的URL;
确定与所述模式匹配的所述非内容中性URL的列表中的第二数量的URL;以及
当所述第二数量小于所述第一数量和所述第二数量之和的百分之一时,将所述模式存储在所述内容中性URL数据存储中。
15.一种用于优化网页的渲染的方法,包括:
接收用以渲染由URL识别的网页的请求;
在渲染之前确定所述URL在识别内容中性URL的数据存储中被识别为内容中性URL,其中,URL基于在脚本被关闭的情况下的页面布局的相似性和在脚本被打开的页面布局的相似性而是内容中性的;以及
响应于确定所述URL是内容中性URL而在脚本被关闭的情况下渲染所述网页,无论用于脚本的浏览器设置如何。
16.根据权利要求15所述的方法,其中,确定所述URL被识别为内容中性URL包括确定所述URL与识别内容中性URL的所述数据存储中的用于识别内容中性网页的预定模式匹配。
17.根据权利要求15所述的方法,其中,确定所述URL是内容中性URL包括:
确定所述URL对于处理用以渲染所述网页的所述请求的浏览器类型而言是内容中性的。
18.根据权利要求15所述的方法,其中,确定所述URL是内容中性URL包括:
向服务发送请求,所述服务确定所述URL是否是内容中性URL;以及
从所述服务接收指示所述URL是内容中性URL的响应。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2014/080820 WO2015196410A1 (en) | 2014-06-26 | 2014-06-26 | Optimized browser render process |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106462561A CN106462561A (zh) | 2017-02-22 |
CN106462561B true CN106462561B (zh) | 2020-06-09 |
Family
ID=54930789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480078443.0A Active CN106462561B (zh) | 2014-06-26 | 2014-06-26 | 优化浏览器渲染过程 |
Country Status (6)
Country | Link |
---|---|
US (2) | US9785720B2 (zh) |
EP (1) | EP3161662B1 (zh) |
JP (1) | JP6386089B2 (zh) |
CN (1) | CN106462561B (zh) |
RU (1) | RU2665920C2 (zh) |
WO (1) | WO2015196410A1 (zh) |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20150227878A1 (en) * | 2014-02-07 | 2015-08-13 | Acxiom Corporation | Interactive Marketing Simulation System and Method |
WO2015196414A1 (en) | 2014-06-26 | 2015-12-30 | Google Inc. | Batch-optimized render and fetch architecture |
EP3161662B1 (en) | 2014-06-26 | 2024-01-31 | Google LLC | Optimized browser render process |
EP3161610B1 (en) | 2014-06-26 | 2020-08-05 | Google LLC | Optimized browser rendering process |
US10956498B2 (en) * | 2017-09-29 | 2021-03-23 | Google Llc | Scanning for bindings in webpage markup |
US20190236121A1 (en) * | 2018-01-29 | 2019-08-01 | Salesforce.Com, Inc. | Virtualized detail panel |
CN114500489B (zh) * | 2019-04-16 | 2024-03-12 | 谷歌有限责任公司 | 在联网环境中授权数据传输的方法和*** |
CN111177606B (zh) * | 2019-12-23 | 2023-12-15 | 望海康信(北京)科技股份公司 | 控制浏览器渲染网页的方法及装置 |
CN112000906B (zh) * | 2020-08-27 | 2024-07-19 | 中国平安财产保险股份有限公司 | 数据渲染方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1821215B1 (en) * | 2004-10-22 | 2011-11-30 | Access Co., Ltd. | Parameter setting and storage method |
CN102663002A (zh) * | 2012-03-16 | 2012-09-12 | 掌中帷幄(北京)科技有限公司 | 结构化文档的渲染方法及*** |
CN102855318A (zh) * | 2012-08-31 | 2013-01-02 | 北京搜狗信息服务有限公司 | 网页预加载方法与*** |
US8689117B1 (en) * | 2009-10-30 | 2014-04-01 | Google Inc. | Webpages with conditional content |
Family Cites Families (115)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5828879A (en) | 1994-12-22 | 1998-10-27 | Fore Systems, Inc. | Method and a scheduler for controlling when a server provides service to an entity |
JP4025379B2 (ja) | 1996-09-17 | 2007-12-19 | 株式会社ニューズウオッチ | 検索システム |
US7103794B2 (en) | 1998-06-08 | 2006-09-05 | Cacheflow, Inc. | Network object cache engine |
US6393526B1 (en) | 1997-10-28 | 2002-05-21 | Cache Plan, Inc. | Shared cache parsing and pre-fetch |
JP2987355B2 (ja) | 1998-01-21 | 1999-12-06 | 三菱電機株式会社 | ハイパーテキスト表示システム及びハイパーテキスト表示方法 |
US6173316B1 (en) | 1998-04-08 | 2001-01-09 | Geoworks Corporation | Wireless communication device with markup language based man-machine interface |
US6271840B1 (en) | 1998-09-24 | 2001-08-07 | James Lee Finseth | Graphical search engine visual index |
US6631369B1 (en) | 1999-06-30 | 2003-10-07 | Microsoft Corporation | Method and system for incremental web crawling |
US6665838B1 (en) | 1999-07-30 | 2003-12-16 | International Business Machines Corporation | Web page thumbnails and user configured complementary information provided from a server |
US6321265B1 (en) | 1999-11-02 | 2001-11-20 | Altavista Company | System and method for enforcing politeness while scheduling downloads in a web crawler |
US7200677B1 (en) | 2000-04-27 | 2007-04-03 | Microsoft Corporation | Web address converter for dynamic web pages |
US6643641B1 (en) | 2000-04-27 | 2003-11-04 | Russell Snyder | Web search engine with graphic snapshots |
US6704728B1 (en) | 2000-05-02 | 2004-03-09 | Iphase.Com, Inc. | Accessing information from a collection of data |
US8640017B1 (en) | 2000-05-02 | 2014-01-28 | International Business Machines Corporation | Bootstrapping in information access systems |
US6714905B1 (en) | 2000-05-02 | 2004-03-30 | Iphrase.Com, Inc. | Parsing ambiguous grammar |
JP3703080B2 (ja) | 2000-07-27 | 2005-10-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ウェブコンテンツを簡略化するための方法、システムおよび媒体 |
US7231606B2 (en) | 2000-10-31 | 2007-06-12 | Software Research, Inc. | Method and system for testing websites |
US6865192B1 (en) | 2000-12-22 | 2005-03-08 | Sprint Communications Company L.P. | Integrated services hub self configuration |
JP2002297619A (ja) | 2001-03-29 | 2002-10-11 | Brother Ind Ltd | 広告情報提供システム、広告情報閲覧装置、広告情報閲覧方法及び広告情報閲覧プログラム |
AU2002321795A1 (en) | 2001-07-27 | 2003-02-17 | Quigo Technologies Inc. | System and method for automated tracking and analysis of document usage |
US6763362B2 (en) | 2001-11-30 | 2004-07-13 | Micron Technology, Inc. | Method and system for updating a search engine |
US7200680B2 (en) * | 2002-03-11 | 2007-04-03 | Ericsson Inc. | Method, apparatus and system for providing multimedia messages to incompatible terminals |
US7136875B2 (en) | 2002-09-24 | 2006-11-14 | Google, Inc. | Serving advertisements based on content |
US7231442B2 (en) | 2002-04-03 | 2007-06-12 | Tonic Software, Inc. | Global network monitoring system |
US7441010B2 (en) | 2002-06-06 | 2008-10-21 | International Business Machines Corporation | Method and system for determining the availability of in-line resources within requested web pages |
US7054917B1 (en) | 2002-08-07 | 2006-05-30 | Propel Software Corporation | Method for accelerating delivery of content in a computer network |
US7188359B2 (en) | 2002-12-18 | 2007-03-06 | America Online, Inc. | Optimizing authentication service availability and responsiveness via client-side routing |
US20050108340A1 (en) * | 2003-05-15 | 2005-05-19 | Matt Gleeson | Method and apparatus for filtering email spam based on similarity measures |
GB0315154D0 (en) | 2003-06-28 | 2003-08-06 | Ibm | Improvements to hypertext integrity |
US7725452B1 (en) | 2003-07-03 | 2010-05-25 | Google Inc. | Scheduler for search engine crawler |
US7895523B2 (en) | 2003-09-04 | 2011-02-22 | International Business Machines Corporation | Method, system and program product for obscuring supplemental web content |
US7457823B2 (en) | 2004-05-02 | 2008-11-25 | Markmonitor Inc. | Methods and systems for analyzing data related to possible online fraud |
US8353028B2 (en) | 2004-06-21 | 2013-01-08 | Ebay Inc. | Render engine, and method of using the same, to verify data for access and/or publication via a computer system |
US7644107B2 (en) | 2004-09-30 | 2010-01-05 | Microsoft Corporation | System and method for batched indexing of network documents |
JP4507206B2 (ja) | 2004-10-28 | 2010-07-21 | 富士通株式会社 | インターネット情報収集装置、プログラム及び方法 |
US8812551B2 (en) | 2004-11-18 | 2014-08-19 | International Business Machines Corporation | Client-side manipulation of tables |
US20060129463A1 (en) | 2004-12-15 | 2006-06-15 | Zicherman Amir S | Method and system for automatic product searching, and use thereof |
US7536389B1 (en) | 2005-02-22 | 2009-05-19 | Yahoo ! Inc. | Techniques for crawling dynamic web content |
US20070005652A1 (en) * | 2005-07-02 | 2007-01-04 | Electronics And Telecommunications Research Institute | Apparatus and method for gathering of objectional web sites |
US8527504B1 (en) | 2005-09-01 | 2013-09-03 | At&T Intellectual Property Ii, L.P. | Data network content filtering using categorized filtering parameters |
US7814410B2 (en) * | 2005-09-12 | 2010-10-12 | Workman Nydegger | Initial server-side content rendering for client-script web pages |
US7548915B2 (en) | 2005-09-14 | 2009-06-16 | Jorey Ramer | Contextual mobile content placement on a mobile communication facility |
US8271611B2 (en) | 2005-09-28 | 2012-09-18 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system of invoking MIDlets from a web browser on a local device |
CN101346634B (zh) | 2005-11-04 | 2012-10-24 | 甲骨文国际公司 | 用于通信网络中的网守的***和方法 |
CN101075236A (zh) | 2006-06-12 | 2007-11-21 | 腾讯科技(深圳)有限公司 | 一种加快浏览器网页显示的装置和方法 |
US20080010642A1 (en) | 2006-06-30 | 2008-01-10 | Maclellan Scot | Method, system and computer program for scheduling execution of work units with monitoring of progress thereof |
US8015162B2 (en) * | 2006-08-04 | 2011-09-06 | Google Inc. | Detecting duplicate and near-duplicate files |
CN101201827B (zh) | 2006-12-14 | 2013-02-20 | 阿里巴巴集团控股有限公司 | 一种网页显示的方法和*** |
US7886042B2 (en) | 2006-12-19 | 2011-02-08 | Yahoo! Inc. | Dynamically constrained, forward scheduling over uncertain workloads |
US7694054B2 (en) | 2007-04-26 | 2010-04-06 | Microsoft Corporation | Governing access to a computing resource |
US9430577B2 (en) * | 2007-05-31 | 2016-08-30 | Microsoft Technology Licensing, Llc | Search ranger system and double-funnel model for search spam analyses and browser protection |
US8578261B1 (en) | 2007-06-22 | 2013-11-05 | Adobe Systems Incorporated | Active preview of hyperlink content in browser supported file-format |
US9906549B2 (en) * | 2007-09-06 | 2018-02-27 | Microsoft Technology Licensing, Llc | Proxy engine for custom handling of web content |
US8751626B2 (en) | 2007-10-23 | 2014-06-10 | Microsoft Corporation | Model-based composite application platform |
US20090164502A1 (en) | 2007-12-24 | 2009-06-25 | Anirban Dasgupta | Systems and methods of universal resource locator normalization |
NZ566291A (en) | 2008-02-27 | 2008-12-24 | Actionthis Ltd | Methods and devices for post processing rendered web pages and handling requests of post processed web pages |
US8131753B2 (en) | 2008-05-18 | 2012-03-06 | Rybak Ilya | Apparatus and method for accessing and indexing dynamic web pages |
US8307431B2 (en) | 2008-05-30 | 2012-11-06 | At&T Intellectual Property I, L.P. | Method and apparatus for identifying phishing websites in network traffic using generated regular expressions |
US8316124B1 (en) | 2008-09-29 | 2012-11-20 | Amazon Technologies, Inc. | Managing network data display |
CN101763357B (zh) | 2008-11-13 | 2016-09-14 | 北京搜狗科技发展有限公司 | 一种用于浏览器加载互联网资源的方法及*** |
CN101504648A (zh) | 2008-11-14 | 2009-08-12 | 北京搜狗科技发展有限公司 | 展现网页资源的方法及装置 |
US20100131488A1 (en) | 2008-11-26 | 2010-05-27 | Yahoo! Inc. | Digital Images of Web Pages |
CA2782674C (en) | 2008-12-03 | 2016-02-02 | Mobophiles, Inc. | System and method for providing virtual web access |
US8356247B2 (en) | 2008-12-16 | 2013-01-15 | Rich Media Worldwide, Llc | Content rendering control system and method |
US8543580B2 (en) | 2008-12-23 | 2013-09-24 | Microsoft Corporation | Mining translations of web queries from web click-through data |
US8880498B2 (en) | 2008-12-31 | 2014-11-04 | Fornova Ltd. | System and method for aggregating and ranking data from a plurality of web sites |
US8539359B2 (en) | 2009-02-11 | 2013-09-17 | Jeffrey A. Rapaport | Social network driven indexing system for instantly clustering people with concurrent focus on same topic into on-topic chat rooms and/or for generating on-topic search results tailored to user preferences regarding topic |
US9311425B2 (en) | 2009-03-31 | 2016-04-12 | Qualcomm Incorporated | Rendering a page using a previously stored DOM associated with a different page |
CN101587495A (zh) | 2009-07-08 | 2009-11-25 | 伍帝州 | 通过浏览器下载部署应用并提供应用入口的方法及*** |
US20110055683A1 (en) | 2009-09-02 | 2011-03-03 | Facebook Inc. | Page caching for rendering dynamic web pages |
US8868637B2 (en) | 2009-09-02 | 2014-10-21 | Facebook, Inc. | Page rendering for dynamic web pages |
JP2011065488A (ja) | 2009-09-17 | 2011-03-31 | Sony Corp | 情報処理装置、データ取得方法及びプログラム |
US8392748B2 (en) | 2009-10-06 | 2013-03-05 | Microsoft Corporation | Reliable media streaming |
US20110099133A1 (en) * | 2009-10-28 | 2011-04-28 | Industrial Technology Research Institute | Systems and methods for capturing and managing collective social intelligence information |
JP2011108102A (ja) | 2009-11-19 | 2011-06-02 | Sony Corp | ウェブサーバ、ウェブブラウザおよびウェブシステム |
US8738686B2 (en) | 2009-12-30 | 2014-05-27 | Teradata Us, Inc. | Dynamic resource management |
US8768926B2 (en) | 2010-01-05 | 2014-07-01 | Yahoo! Inc. | Techniques for categorizing web pages |
US8250478B2 (en) | 2010-01-28 | 2012-08-21 | Microsoft Corporation | State persistence and background initialization for post-back web applications |
KR101122700B1 (ko) | 2010-03-08 | 2012-03-12 | (주)이앤비소프트 | Url 정보 발신 방법 |
JP2011221616A (ja) | 2010-04-05 | 2011-11-04 | Nec Corp | Urlフィルタリングシステム、システム制御方法およびシステム制御用プログラム |
US8346755B1 (en) | 2010-05-04 | 2013-01-01 | Google Inc. | Iterative off-line rendering process |
US8446411B2 (en) | 2010-06-11 | 2013-05-21 | Microsoft Corporation | Adaptive image rendering and use of imposter |
US8676978B2 (en) | 2010-08-03 | 2014-03-18 | Facebook, Inc. | Efficient storage and retrieval of resources for rendering structured documents |
JP5279793B2 (ja) | 2010-10-25 | 2013-09-04 | 京セラ株式会社 | 携帯端末、携帯端末の制御方法及びプログラム |
JP5512495B2 (ja) | 2010-11-18 | 2014-06-04 | 株式会社Nttドコモ | データダウンロード装置、データダウンロード方法 |
US8849991B2 (en) | 2010-12-15 | 2014-09-30 | Blue Coat Systems, Inc. | System and method for hypertext transfer protocol layered reconstruction |
US9542501B2 (en) | 2011-01-28 | 2017-01-10 | Radware Ltd. | System and method for presenting content in a client/server environment |
US10204327B2 (en) | 2011-02-05 | 2019-02-12 | Visa International Service Association | Merchant-consumer bridging platform apparatuses, methods and systems |
US8707162B1 (en) * | 2011-03-22 | 2014-04-22 | Google Inc. | Methods and systems for reducing web page transmission bandwidth |
US8799262B2 (en) | 2011-04-11 | 2014-08-05 | Vistaprint Schweiz Gmbh | Configurable web crawler |
US8655865B1 (en) | 2011-05-27 | 2014-02-18 | Adobe Systems Incorporated | Method and apparatus for indexing rich internet content using contextual information |
US8538949B2 (en) * | 2011-06-17 | 2013-09-17 | Microsoft Corporation | Interactive web crawler |
US20130007586A1 (en) | 2011-06-29 | 2013-01-03 | Renjit Tom Thomas | Method and system for creating and using web feed display templates |
US20130117252A1 (en) | 2011-11-09 | 2013-05-09 | Google Inc. | Large-scale real-time fetch service |
EP2801065A4 (en) | 2012-01-05 | 2015-08-05 | Visa Int Service Ass | APPARATUS, METHODS AND SYSTEMS FOR VISUAL TRANSACTION CAPTURE |
US8793235B2 (en) | 2012-01-19 | 2014-07-29 | Google Inc. | System and method for improving access to search results |
US20150172228A1 (en) | 2012-04-17 | 2015-06-18 | George Zalepa | Method and system for communicating information over a network |
JP5809099B2 (ja) | 2012-04-20 | 2015-11-10 | 日本電信電話株式会社 | Web閲覧画面サムネイル生成システム |
US8910132B2 (en) | 2012-07-13 | 2014-12-09 | Facebook, Inc. | Client-side script bundle management system |
US20140053056A1 (en) * | 2012-08-16 | 2014-02-20 | Qualcomm Incorporated | Pre-processing of scripts in web browsers |
US8965880B2 (en) | 2012-10-05 | 2015-02-24 | Google Inc. | Transcoding and serving resources |
CN102902805B (zh) | 2012-10-15 | 2017-06-27 | 东软集团股份有限公司 | 一种页面访问方法和装置 |
CN102917067B (zh) | 2012-10-24 | 2015-06-10 | 网宿科技股份有限公司 | 基于客户端自适应并发控制提高响应速度的方法和装置 |
EP2728481A1 (en) | 2012-11-04 | 2014-05-07 | Rightware Oy | Evaluation of page load performance of web browser |
CN103034503B (zh) * | 2012-12-25 | 2016-07-06 | 北京奇虎科技有限公司 | 一种脚本执行方法、***及浏览器 |
US20140189534A1 (en) | 2012-12-31 | 2014-07-03 | Google Inc. | Customizing shared web resource snapshots |
US9286408B2 (en) | 2013-01-30 | 2016-03-15 | Hewlett-Packard Development Company, L.P. | Analyzing uniform resource locators |
US9256795B1 (en) | 2013-03-15 | 2016-02-09 | A9.Com, Inc. | Text entity recognition |
US8601565B1 (en) * | 2013-06-19 | 2013-12-03 | Edgecast Networks, Inc. | White-list firewall based on the document object model |
EP3063674B1 (en) | 2013-11-01 | 2019-06-19 | Kapow Technologies A/S | Determining web page processing state |
US8924850B1 (en) | 2013-11-21 | 2014-12-30 | Google Inc. | Speeding up document loading |
US9646254B2 (en) | 2014-06-20 | 2017-05-09 | Amazon Technologies, Inc. | Predicting next web pages |
WO2015196414A1 (en) | 2014-06-26 | 2015-12-30 | Google Inc. | Batch-optimized render and fetch architecture |
EP3161662B1 (en) | 2014-06-26 | 2024-01-31 | Google LLC | Optimized browser render process |
EP3161610B1 (en) | 2014-06-26 | 2020-08-05 | Google LLC | Optimized browser rendering process |
-
2014
- 2014-06-26 EP EP14895657.6A patent/EP3161662B1/en active Active
- 2014-06-26 RU RU2016148864A patent/RU2665920C2/ru active
- 2014-06-26 CN CN201480078443.0A patent/CN106462561B/zh active Active
- 2014-06-26 WO PCT/CN2014/080820 patent/WO2015196410A1/en active Application Filing
- 2014-06-26 JP JP2016567202A patent/JP6386089B2/ja active Active
- 2014-10-22 US US14/521,223 patent/US9785720B2/en active Active
-
2017
- 2017-10-03 US US15/723,734 patent/US10713330B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1821215B1 (en) * | 2004-10-22 | 2011-11-30 | Access Co., Ltd. | Parameter setting and storage method |
US8689117B1 (en) * | 2009-10-30 | 2014-04-01 | Google Inc. | Webpages with conditional content |
CN102663002A (zh) * | 2012-03-16 | 2012-09-12 | 掌中帷幄(北京)科技有限公司 | 结构化文档的渲染方法及*** |
CN102855318A (zh) * | 2012-08-31 | 2013-01-02 | 北京搜狗信息服务有限公司 | 网页预加载方法与*** |
Also Published As
Publication number | Publication date |
---|---|
WO2015196410A1 (en) | 2015-12-30 |
RU2016148864A3 (zh) | 2018-07-31 |
US9785720B2 (en) | 2017-10-10 |
RU2665920C2 (ru) | 2018-09-04 |
RU2016148864A (ru) | 2018-07-31 |
CN106462561A (zh) | 2017-02-22 |
US20150379155A1 (en) | 2015-12-31 |
JP6386089B2 (ja) | 2018-09-05 |
EP3161662B1 (en) | 2024-01-31 |
US10713330B2 (en) | 2020-07-14 |
US20180025091A1 (en) | 2018-01-25 |
JP2017519280A (ja) | 2017-07-13 |
EP3161662A4 (en) | 2018-02-28 |
EP3161662A1 (en) | 2017-05-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106462561B (zh) | 优化浏览器渲染过程 | |
US10284623B2 (en) | Optimized browser rendering service | |
US11328114B2 (en) | Batch-optimized render and fetch architecture | |
JP2019533205A (ja) | ユーザキーワード抽出装置、方法、及びコンピュータ読み取り可能な記憶媒体 | |
WO2017107570A1 (zh) | 一种基于HTML5应用缓存的移动Web缓存优化方法 | |
JP6363682B2 (ja) | 画像とコンテンツのメタデータに基づいてコンテンツとマッチングする画像を選択する方法 | |
WO2017181866A1 (en) | Making graph pattern queries bounded in big graphs | |
US20140129490A1 (en) | Image url-based junk detection | |
JP6568985B2 (ja) | バッチ最適化レンダリング及びフェッチアーキテクチャ | |
Taneja et al. | AirBits: a web application development using microsoft azure | |
US20120284224A1 (en) | Build of website knowledge tables | |
EP4315009A1 (en) | Integrated energy data science platform | |
JP6397101B2 (ja) | 最適化されたブラウザレンダリング処理 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: American California Applicant after: Google limited liability company Address before: American California Applicant before: Google Inc. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |