[go: up one dir, main page]

CN116806336A - Accelerating loading of web pages and web applications - Google Patents

Accelerating loading of web pages and web applications Download PDF

Info

Publication number
CN116806336A
CN116806336A CN202180092549.6A CN202180092549A CN116806336A CN 116806336 A CN116806336 A CN 116806336A CN 202180092549 A CN202180092549 A CN 202180092549A CN 116806336 A CN116806336 A CN 116806336A
Authority
CN
China
Prior art keywords
web page
rendering
browser
user
preview
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
CN202180092549.6A
Other languages
Chinese (zh)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN116806336A publication Critical patent/CN116806336A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

提供了一种用于将给定网页加载到通过数据通信系统(104、320、416)连接到一个或多个服务器(106A至106N、322A至322N、418A至418N)和中间业务服务器(108)的设备(102、202、302、402)中的方法。要呈现给用户(100、200)的给定网页需要浏览器从一个或多个服务器访问一个或多个资源。该方法包括安排浏览器发送对给定网页的预览包的请求,并发起对生成给定网页的第一渲染所需的网页数据的请求,以及在向用户呈现网页的第一渲染的同时发起对生成网页数据的第二渲染所需的网页数据的请求。所述方法包括配置浏览器以从向用户呈现第一渲染切换到向用户呈现给定原始网页的第二渲染。

A method is provided for loading a given web page into one or more servers (106A to 106N, 322A to 322N, 418A to 418N) and intermediary business servers (108) connected via a data communications system (104, 320, 416) Methods in devices (102, 202, 302, 402). A given web page to be presented to a user (100, 200) requires the browser to access one or more resources from one or more servers. The method includes arranging for the browser to send a request for a preview package of a given web page and initiating a request for web page data required to generate a first rendering of the given web page, and initiating a request for the first rendering of the web page while presenting the first rendering of the web page to the user. Generate a request for web page data required for a second rendering of the web page data. The method includes configuring the browser to switch from presenting a first rendering to the user to presenting a second rendering of a given original web page to the user.

Description

Accelerating loading of web pages and web applications
Technical Field
The present invention relates generally to methods for loading web pages and web applications into devices, and to apparatuses capable of performing these methods. More particularly, the present invention relates to a method of loading a given web page into a device and a method of operating a server apparatus that loads a given web page into a device. Furthermore, the invention relates to a device for loading a given web page.
Background
The first web page (e.g., cold page) of the web application is loaded much longer than the time required to subsequently reload the same first web page. This time delay occurs because modern web pages include a main page (also referred to as a "root page") with multiple individual resources (e.g., identifiable elements in the web page) available for loading the web page individually. During web page loading, the associated loading duration is used to load resources from a server into a browser executed by a client, parse the resources on the client, and ultimately render the processed resources (and so on). The loading duration of a resource may be divided into a duration representing the network delay associated with each network request and the duration of the arrival of the resource over the network connection. The impact of network latency on page load duration is more pronounced than connection speed. Thus, the user sees a white screen for several seconds when making a web page request, which is often the case when loading a web page.
In known approaches, web accelerators may be used to generate preview pages based on screenshots of web pages. Since the screen shots are raster images, the scaled screen shots do not provide sufficient graphics detail. In addition, when a user zooms in on such a preview page, the page will become obscured, presenting insufficient text quality. All elements of the web page are scaled together in the preview page so that the user cannot perform operations on one or more page elements of the web page, such as selecting, copying and pasting text, copying images from the web page, and so forth. Markup language (e.g., HTML) format is used in the preview context, but different screenshots are only combined together when the preview is split into multiple parts and the preview serves the underlying folded content. In this approach, a markup language is used to group the screenshots together, and the individual page elements are not presented as markup language elements.
In another known approach, multiple web (e.g., HTTP) requests (e.g., a primary web page request and subsequent resource download requests) are issued, first the HTML wrapper is fetched, and then additional HTTP requests for images are issued. In this approach, the round trip time of each request is added up to be the page content presentation duration.
In another known approach, the resources of a given web page are received in the form of bundles, and only those bundles will be cached (the original page will not). This approach has the disadvantage that resources within the packet that are already outdated and/or no longer needed continue to consume buffer space on a given user device; such outdated resources may be detrimental to efficient management of buffer space on a given user device.
In another known approach, a web server (i.e., a non-proxy server) packages the web server resources it belongs to, which are used by the original web page, and sends the bundle to a given device in the form of a single data packet that is large in volume (e.g., contains several megabytes). This approach not only requires at least two network requests to be sent (i.e., one HTML page request and one resource package request), but it also results in an increased amount of data being sent by the network server over the data communication network linked to the given device.
Accordingly, there is a need to address the above-described technical deficiencies in existing systems or techniques in terms of accelerating web page and web application loading.
Disclosure of Invention
It is an object of the present invention to provide an improved method for loading a given web page into a device, an improved method for operation of a server means for loading a given web page into a device and an improved device for loading a given web page while avoiding one or more of the disadvantages of the prior art methods.
This object is achieved by the features of the independent claims. Further implementations are evident from the dependent claims, the detailed description and the accompanying drawings.
The present invention provides an improved method for loading a given web page into a device, an improved method for operation of a server apparatus for loading a given web page into a device, and an improved device for loading a given web page.
According to a first aspect, a method for loading a given web page into a device connected to one or more servers and an intermediate service server through a data communication system is provided. A given web page to be presented to a user requires a browser to access multiple resources from one or more servers. The method includes arranging for the browser to send a request for a preview package for a given web page to an intermediary service server. The method includes receiving a preview package of a given web page at a device from an intermediary service server and processing the preview package at the device to generate a first rendering of the given web page on the device for presentation to a user, and arranging for a browser to request one or more servers to provide web page data required to generate a second rendering of the given web page. The method includes receiving web page data and generating a second rendering of the web page data while presenting the first rendering of the web page to a user. The method includes configuring the browser to switch from presenting a first rendering to the user to presenting a second rendering of the given original web page to the user.
The advantage of this approach is that it suggests receiving a multipart hypertext markup language (multipart hypertext markup language, MHTML) package in preview format in response to a request for a web page, thereby making the web page rendering more realistic, allowing the user to zoom in/out, select and copy/paste text content, save images, etc. This function has the advantage of selecting content elements (text and images) previewed by the document object model (document object model, DOM) and passing them to the mobile terminal or other application of the desktop computer for further processing. Common support functions for images include sharing with instant messaging or editing applications, sharing image links, searching over a network, and the like. By using this sharing, any portion of the DOM preview page content can be passed to other applications. Resources (e.g., images and styles) received with MHTML packets are available in the browser cache (e.g., by storing as a single resource) and can be used immediately after receipt when the (originally) requested web page is loaded in the background.
The method supports combining resources from different web servers into MHTML preview files, thereby improving the page loading experience in a web browser by loading a static (i.e., non-script) set of resources; after browser processing, a document object model (document object model, DOM) preview page is first created and rendered, after which the web page is switched to the original web page (request) when it is ready for rendering. DOM previews support basic interactions that a user can make with content while browsing (e.g., scaling, saving portions of resources).
In addition, the method supports the browser loading a static (i.e., non-scripting) but interactive web page preview provided by the web accelerator during the first step and displaying it to the user in a single bundle and within a single Round Trip Time (RTT), and loading the original page during the second step and rendering it off screen in parallel in the background. In addition, the method supports removing previews from the screen when the original page is displayed. The method can make the web pages loaded in two steps look identical, thereby seamlessly switching the web pages.
The advantage of this approach is that a single multipart response is used that reduces the network delay associated with the loading of each individual resource, providing preview pages for the visible part of the content of the page, reducing the amount of content to be loaded, and reducing the content to be processed by the browser, preprocessing the content for more efficient rendering.
According to a second aspect, there is provided a method for operating a server apparatus for loading a given web page into a device connected to the server apparatus through a data communication system. A given web page to be presented to a device user requires a browser executing on the device to access multiple resources from a server apparatus. The method includes receiving, at a server device, a request from a browser for a preview package for a given web page. The method includes sending a preview package of a given web page from a server apparatus to a device for processing by the device to generate a first rendering of the given web page on the device for presentation to a user, and receiving a request from a browser for web page data required to generate a second rendering of the given web page. The method includes sending, from the server apparatus, the web page data to the device for processing by the device, and generating a second rendering of the web page data while presenting the first rendering of the web page to the user. The browser is used to switch from presenting a first rendering to the user to presenting a second rendering of a given original web page to the user.
The advantage of this approach is that the peak data transfer rate requirements from the server device can be reduced when a given delay occurs in the network browsing and in the user equipment.
According to a third aspect, there is provided a software product comprising instructions executable on computing hardware to implement the above method.
The software product may be at least partially implemented as a software product executable on computing hardware of a data communication device.
According to a fourth aspect, there is provided an apparatus for loading a given web page into the apparatus when connected to one or more servers and an intermediate service server through a data communication system. The apparatus is for using a browser for accessing a plurality of resources from one or more servers and an intermediary service server. The device is configured to send a request for a preview package of a given web page to an intermediary service server using a browser. The device is for receiving a preview package of a given web page at the device and processing the preview package at the device to generate a first rendering of the given web page on the device for presentation to a user and to arrange for a browser to request from one or more servers web page data required to generate a second rendering of the given original web page, the device being for receiving the web page data and generating the second rendering of the web page data concurrently with the presentation of the first rendering of the web page to the user. The device is for arranging the browser to switch from presenting a first rendering to the user to presenting a second rendering of the given original web page to the user.
The advantage of this device is that it uses a single multipart response that reduces the network delay associated with loading each individual resource, provides preview pages for the visible part of the content of the page, reduces the amount of content for loading, and reduces the content to be processed by the browser, pre-processing the content for more efficient rendering.
One technical problem in the prior art is solved in that the duration of loading the first web page (i.e. cold loading of the page) of a web application in a web browser available to the user is significantly longer.
Thus, unlike the prior art, according to the method for loading a given web page, the method for operating a server apparatus, and the device for loading a given web page provided in the present invention, the user system allows web pages of web applications to be loaded faster. The present invention allows for reducing the network latency associated with the loading of each resource through a single multipart response, reducing the amount of content for loading by providing only the visible portion of the page in the preview, and reducing the content processed by the browser by providing only the preview and effectively rendering the content through preprocessing of the content.
These and other aspects of the invention will be apparent from and elucidated with reference to one or more embodiments described hereinafter.
Drawings
Embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings, in which:
FIG. 1 is a block diagram illustrating an apparatus for loading a given web page into the apparatus when connected to one or more servers and an intermediate service server through a data communication system, according to an embodiment of the present invention;
FIG. 2 is an interactive diagram showing steps of a method of loading a given web page into devices connected to a server and an intermediate service server through a data communication system, according to an example embodiment of the present invention;
FIG. 3 is a block diagram illustrating cold loading of a web page without previewing according to an embodiment of the present invention;
FIG. 4 is a block diagram illustrating an example environment for preprocessing content in a web page to generate a web page preview in accordance with an embodiment of the present invention;
FIGS. 5A-5B are flowcharts illustrating steps of a method of loading a given web page into a device connected to one or more servers and an intermediate service server through a data communication system, according to an embodiment of the present invention;
fig. 6A to 6B are flowcharts illustrating a method of operating a server apparatus according to an embodiment of the present invention;
Fig. 7 is a diagram illustrating a computing configuration for implementing an embodiment of the present invention.
Detailed Description
The present invention provides an improved method of loading a given web page into a device, an improved method of operating a server apparatus for loading a given web page into a device, and an improved device for loading a given web page.
In order to make it easier for a person skilled in the art to understand the solution of the present invention, the following embodiments of the present invention are described in conjunction with the accompanying drawings.
The terms, such as "first," "second," "third," and "fourth" (if any) in the summary, claims, and in the foregoing figures, of the invention are used to distinguish between similar objects and not necessarily describe a particular sequence or order. It is to be understood that the terms so used are interchangeable under appropriate circumstances. Thus, for example, embodiments described herein can also be implemented in sequences other than those shown or described herein. Furthermore, the terms "comprise" and "have," and any variations thereof, are intended to encompass non-exclusive inclusion. For example, a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to the particular steps or elements recited, but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
Fig. 1 is a block diagram illustrating a device 102 for loading a given web page into the device 102 when connected to one or more servers 106A-106N and an intermediate service server 108 through a data communication system 104, in accordance with an embodiment of the present invention. The block diagram includes a device 102, a data communication system 104, one or more servers 106A through 106N, and an intermediate service server 108. The device 102 is configured to send a request to the intermediary service server 108 using the browser to obtain a preview package for a given web page.
The device 102 is configured to receive a preview package of a given web page at the device 102 and process the preview package on the device to generate a first rendering of the given web page to be presented to the user 100 on the device 102 and to arrange for the browser to initiate a request to one or more servers 106A to 106N for web page data required to generate a second rendering of the given original web page.
The device 102 is configured to receive web page data and generate a second rendering of the web page data while presenting the first rendering of the web page to the user 100. The device 102 is arranged to switch the browser from presenting the first rendering to the user 100 to presenting the second rendering of the given original web page to the user 100.
An advantage of the device 102 is that the device 102 uses a single multipart response that reduces network latency associated with loading each individual resource; thus, the preview page is provided for the visible content of the page to reduce the amount of content for initial loading, as well as reduce the amount of content initially handled by the browser. This makes use of content pre-processing to make rendering more efficient. The device 102 may be selected from, but is not limited to, a mobile phone, a palm top (personal digital assistant, PDA), a tablet, a desktop or a notebook. The user 100 may submit a user request (a web page for a web application) by performing a corresponding operation on the device 102.
Optionally, the device 102 is configured to switch from presenting the first rendering to the user 100 to presenting the second rendering to the user 100 in a seamless manner such that the user 100 is unaware of the switch. Optionally, the device 102 may arrange the preview package to have a preview format for enabling the user 100 to perform at least one of the following on the first rendering by the browser: zooming in/out of the first rendering, selecting and copying/pasting texture content from the first rendering, saving one or more images from the first rendering. Optionally, the device 102 is configured to send the request in (a) as a single request to the intermediate service server.
The intermediary service server 108 provides preview packages of a given web page to the device 102 in response to requests received from a browser executing on the device 102.
The intermediary service server 108 may be used to obtain information from one or more servers 106A through 106N for generating preview packages.
FIG. 2 is an interactive diagram providing an illustration of the steps of a method of loading a given web page into a device 202 connected to a server 206 and an intermediate service server through a data communication system according to an embodiment of the present invention. At step 208, data indicative of the URL of the web page (of the web application) is received as input (in a browser window executing on device 202) from user 200 at device 202. At step 210, two requests are prepared based on the request received by the device 202. In step 212, the device 202 interacts with the web accelerator 204 to communicate a first request for web page previews. In step 214, the device 202 interacts with the network accelerator 204 to pass a second request for the original web page. In step 216, the network accelerator 204 interacts with the server 206 specified in the user request to request and receive the content of the original web page. At step 218, the web page content is parsed by the web page accelerator 204. At step 220, the resources referenced in the web page are requested from the server 206 and the resources required for the web page are rendered by the web page accelerator 204. In step 222, the web page in the headless browser configured for screen resolution and color scheme compatibility is being rendered on the device 202, and the network accelerator 204 receives a request for the (original) page from the device 202. The web accelerator 204 loads web pages in a headless browser in a manner similar to that in a (conventional) web browser, except that the browser would use the screen properties of the device 202 when rendering the web pages. The headless browser executes all scripts that trigger execution at startup. When all of the above has been completed, the collapsed page resources have been loaded and no more javascript needs to be executed (within a short configurable timeout), the network accelerator 204 begins generating the content of the preview content in MHTML format.
At step 224, the resources referenced in the web page and needed to render the web page are received from the server 206 at the network accelerator 204. At step 226, when the network accelerator 204 requires all resources to generate the over-folded content, the generated MHTML preview is created. At step 228, the mhtml preview is sent by the network accelerator 204 to the device 202. At step 230, the preview page is rendered and displayed on a display associated with the device 202. In parallel with the rendering of the preview browser, the device 202 also stores the preview of the partial content (CSS and images) in the browser cache for continued use in the rendering of the original page. The web browser executing on device 202 loads a preview web page, such as a conventional web page, except that all resources are web pages extracted from a single HTTP response that includes multiple portions of messages. The web browser adds the image obtained from MHTML and the CSS file to the file cache at least before the regular page is loaded. If the cache control header does not allow caching, the web browser will still cache the file until the normal page is loaded.
At step 232, the web accelerator 204 at the slave device 202 receives the original main HTML page and the requested resources referenced by the main page. While some resources may already exist in the browser cache included in the MHTML preview response, for other resources, the device 202 may wait until other resources are received. At step 234, the original page is rendered immediately once it has all the resources including those in the browser tab/window hidden at the device 202; alternatively, it is not necessary to have all the resources needed to render the original page, but only the key resources (CSS, javaScript) and the image, text above the fold. The web browser executing on device 202 loads the original page as a background task. The web browser may load the original page in parallel with the preview page or may load it in sequence. The web browser finds the image and CSS file added in the above process in the file cache, uses the file in the cache, and thus does not request relevant resources from the server 206 (even if cache control does not allow caching). Further, the network accelerator 204 prioritizes, based on the first request of the preview document received from the device 202, that the network accelerator 204 first generates and transmits a request for MHTML, and then transmits the content item of the original document requested in the second request. The web accelerator 204 and web browser can reduce the speed of downloading resources belonging to the original page when downloading previewed resources.
When the original web page (request) is rendered, the corresponding browser tab containing the original page is displayed on the browser window of the device 202, and the original web page replaces the preview tab on the display. The original web page of the request will be rendered off screen in parallel with the preview page in the background and the preview will be deleted. The loaded preview and the original web page look the same, so the switching of pages is performed seamlessly.
The network accelerator 204 may perform the following steps:
(i) The memory document of the browser is serialized into HTML, only the portion of the rendered page that is above (or near) the fold is serialized,
(ii) Recording the used CSS file;
(iii) Marking all folded top images;
(iv) Multipart messages (MHTML) are assembled, which include files such as serialized HTML documents, CSS files used, and tagged image files.
The multipart message may include the source URL of the CSS file and the image. The multipart message may include an HTTP cache control header sent by the server 206. The preview does not include any JavaScript.
FIG. 3 is a block diagram illustrating cold loading of a web page without previewing according to an embodiment of the present invention. The block diagram includes a device 302, a preview accelerator 308, and a data communications system 320. The device 302 includes a foreground renderer 304 and a background renderer 306. Preview accelerator 308 includes headless browser 310, preview cache 312, web server 314, web cache 316, and web client 318. The data communication system 320 includes one or more servers 322A through 322N.
Headless browser 310 is shown as a client browser providing content to device 302. However, it is to be appreciated that the headless browser 310 generates preview content that is consumed by the foreground renderer 304. In addition, the web server 314 is a web server more like a proxy server.
FIG. 4 is a block diagram illustrating an example environment for preprocessing content in a web page to generate a web page preview in accordance with an embodiment of the present invention. The block diagram includes a device 402 comprised of a foreground renderer 404 and a background renderer 406, a network accelerator 408 comprised of a headless browser 410, a cache 412, a server and proxy 414, and a data communication system 416 comprised of one or more servers 418A through 418N.
The network accelerator 408 bundles the individual resources associated with all web pages into a single multipart response. The preview variant of the generated HTML page is applicable only to the portion of the page that is visible on the user's screen. Content that is "under the fold" and that requires scrolling to enter the viewport will be deleted. The servers and agents 414 represent proxy servers capable of executing browsers remotely from the device 402.
The web accelerator 408 sends HTML content optimized for initial rendering to the device 402. The previews are sent to the foreground renderer 404 as a static HTML format using the headless browser 410 as a separate view. The headless browser 410 stores portions of the preview page (CSS and images) in the cache 412 in parallel with the rendering of the preview page, at least prior to the rendering of the original page. The network accelerator 408 filters content based on the particular user's device 402 (e.g., content of only the portion of the page that is visible on the display device associated with the device 402).
There is a link shown in fig. 4 between the headless browser 410 and the foreground renderer 404. However, it is to be appreciated that the headless browser does not provide content on http or any other protocol, making the preview server advantageously useful for providing preview content.
The network accelerator 408 places individual resources in the multi-part preview based on the importance of minimizing content processing time; the device 402 and its foreground renderer 404 are used to extract resources from the multipart response, parse the resources and render the preview page. The device 402 using the foreground renderer 404 first places the main HTML document in the preview and then places the Cascading Style Sheets (CSS) and the remaining resources in the order in which they appear on the results page. The order of appearance may be different from the order of reference of the resources in the web page. Device 402 then generates a rendering of the original web page and places the original web page using background renderer 406.
Web page loading acceleration is due to one or more of the following factors:
a) Network latency associated with each individual resource load is reduced by providing a single multipart response;
b) Reduced load content by providing previews for only the visible portion of the page;
c) The content that the browser needs to process is reduced because only previews are provided;
d) The execution time is reduced due to the reduced processing time of the pre-processed content, the inline style, and the script (e.g., javaScript) having no execution time, thereby achieving more efficient rendering.
Some functions of preview formats (e.g., multipart HTML) include:
a) Content is static, excluding JavaScript;
b) The preview format includes a single file delivered as a single resource file, thereby avoiding multiple round trip times for a single resource;
c) The preview format includes creation and rendering in a browser-supported format;
d) The auditing format stores a plurality of screen heights;
e) The preview format retains the content visible on the screen and the rest (under the screen content) will be deleted so the user does not need to scroll down through the preview page.
According to one aspect of the invention, by enabling page content caching and reuse, minimal additional network bandwidth is used.
FIGS. 5A-5B are flowcharts illustrating steps of a method for loading a given web page into a device connected to one or more servers and an intermediate service server through a data communication system, according to an embodiment of the present invention; a given web page to be presented to a user requires a browser to access one or more resources from one or more servers. In step 502, the browser is arranged to send a request for a preview package for a given web page to the intermediary service server. At step 504, a preview package of the given web page is received from an intermediary service server at the device and the preview package is processed at the device to generate a first rendering of the given web page on the device for presentation to the user, and the browser is arranged to request generation of web page data required for a second rendering of the given web page provided from the one or more servers. At step 506, web page data is received and concurrently presented to the user with a first rendering of the web page while generating a second rendering of the web page data. At step 508, the browser is used to switch from presenting the first rendering to the user to presenting the second rendering of the given original web page to the user.
The advantage of this approach is that it suggests receiving a multipart hypertext markup language (multipart hypertext markup language, MHTML) package in preview format in response to a request for a web page, thereby making the rendering of the web page more realistic, allowing the user to zoom in/out, select and copy/paste text content, save images, etc. Resources (images and styles) received with MHTML packets are available in the browser cache (e.g., by being stored as a single resource) and can be used immediately after receipt when the (originally) requested web page is loaded in the background.
The method supports merging resources from different web servers into MHTML preview files to improve the page loading experience in web browsers by first loading a static (non-script) document object model (document object model, DOM) preview and switching to the original web page (request) when the web page is ready. DOM previews support basic interactions (scaling, saving part of the resources) that a user can make with content while browsing.
In addition, the method supports the browser loading a static (i.e., non-scripting) but interactive web page preview provided by the web accelerator during the first step and displaying it to the user in a single bundle and within a single Round Trip Time (RTT), and loading the original page during the second step and rendering it off screen in parallel in the background. In addition, the method supports removing previews from the screen when the original page is displayed. The method can make the web pages loaded in two steps look identical, thereby seamlessly switching the web pages.
The advantage of this approach is that a single multipart response is used that reduces the network delay associated with the loading of each individual resource, providing preview pages for the visible part of the content of the page, reducing the amount of content to be loaded, and reducing the content to be processed by the browser, preprocessing the content for more efficient rendering.
Optionally, the method includes switching from presenting the first rendering to the user to presenting the second rendering to the user in a seamless manner, such that the switching is imperceptible to the user. Optionally, the method comprises arranging the first rendering as a simplified version of the second rendering. The first rendering enables at least a user to perform at least one of the following by using the browser: zooming in/out of the first rendering, selecting and copying/pasting texture content from the first rendering, saving one or more images from the first rendering. Optionally, the method includes providing the preview package in a bundle package format, the preview package including HTML code. The bundle format includes at least one of: MHTML, mozilla archive format, web archive format. The preview package may include compressed (e.g., "compressed into zip format") data.
Optionally, the method includes arranging the resources of the preview package in an order to most efficiently effect the first rendering on the device. Optionally, the method includes prioritizing the resources in the preview package so that the browser executes immediately upon receipt of the resources at the device. The preview package may have no executable code that enables user interaction. Optionally, the method comprises sending the request for the preview package in (a) as a single request to the intermediary service server.
Optionally, the method includes generating, at the device, a second rendering along with the partial data for generating the first rendering. Optionally, the method includes storing the data of the preview package in a data cache of a processor of the device. Optionally, the method includes modifying the browser to cache all resources in the preview package as a single resource so that the resource is available in the device for rendering other web pages on the device. Optionally, the method includes executing a browser on the device. Optionally, the method includes executing the browser remotely from the device as a proxy. The agent may be implemented by at least one of: proxy server, remote execution browser that proxies its User Interface (UI) to the device screen.
Fig. 6A to 6B are flowcharts illustrating a method of operating a server apparatus according to an embodiment of the present invention; however, it is to be understood that preview and original pages are requested at the same time, and they may be loaded in parallel, where such parallelism is actually shown in FIG. 2. The server means is for loading a given web page into a device connected to the server means via a data communication system. A given web page to be presented to a device user requires a browser executing on the device to access multiple resources from a server apparatus. At step 602, a preview package request for a given web page from a browser is received at a server device. At step 604, a preview package of the given web page is sent from the server apparatus to the device for processing by the device to generate a first rendering of the given web page on the device for presentation to the user and to receive a request from the browser to generate web page data required for a second rendering of the given web page. At step 606, the web page data is sent from the server apparatus to the device for processing by the device, and a second rendering of the web page data is generated while the first rendering of the web page is presented to the user. The browser is used to switch from presenting a first rendering to the user to presenting a second rendering of a given original web page to the user.
Optionally, the method further comprises configuring the server means to comprise one or more servers for providing web page data to the device, and configuring the server means to comprise an intermediate service server for providing preview packages to the device. Optionally, the method further comprises configuring an intermediate service server, and obtaining information for generating the preview package from one or more servers.
A software product comprising instructions executable on computing hardware to implement the above method. Optionally, the software product is at least partially implemented as a software product executable on computing hardware of the data communication device.
The method further includes any file caches of the external CSS style sheet, file caches in memory, in-memory rendering trees along with preview pages to render the original web page.
According to the method, the CSS style is optimized through the network accelerator WA, so that the preview rendering speed is further increased. The network accelerator may delete all unused CSS rules from the style sheet. The network accelerator may concatenate all or a subset of the styles defined in the style sheet, with the inline representation defining the styles in the element style properties. The subset of styles may depend on the frequency with which style rules are used in the document, either as many styles, or as heuristics for style rule processing complexity.
When serializing a document in memory into HTML, the web accelerator can serialize the computed style of each element (all styles with non-default values). And sending a signal of the calculated pattern to a device browser. The device browser may not process the style concatenation rules, thereby avoiding sending separate CSS files in MHTML.
The above method further accelerates preview rendering by layout pre-computation performed by the network accelerator. The web accelerator calculates the layout of each element in the preview document and concatenates the results into the transmitted preview document. A signal is sent to the device browser by a special indicator in MHTML that the layout has been pre-calculated.
This process requires the network accelerator to know the viewport width (in physical or device independent pixel size) of the device browser, as well as information about the particular font of the device browser. The network accelerator may obtain this information through a request received from a device or (information caching) database.
After the device browser recognizes from the indicator indicating the layout pre-calculation, a special mode is deployed so that the layout calculation for the preview is not performed, and the provided element coordinates are used.
In the above method, it may be necessary to add at least these attributes for each document element: top, left side, width, height; for text, fonts, including font size and text packaging, will be pre-computed and marked by inserting additional span elements or comparable marks.
The method further includes regenerating the DOM preview at the network accelerator. The web accelerator caches the preview document at the first request and services successive requests from the cache. The network accelerator may observe the cache control instructions sent by one or more servers. The Time To Live (TTL) of the preview may be the shortest time to live of the MHTML and all files contained in the original HTML file. When the content expires in the cache, and before it receives a request from the device (e.g., before reloading is used), the network accelerator reloads the content from one or more servers. The network accelerator performs early reloading only on content identified as often needed or requiring a long time to load from one or more servers. The network accelerator performs web crawling and generates previews for all found pages, with the starting page and optional web crawling process constraints (in terms of pages that may be processed) being configurable. The web accelerator generates previews and updates the previews throughout a list of configurable web pages or web sites.
Optionally, the method includes executing a remote browser DOM mirror preview to obtain a preview of the device browser through the web accelerator. In this method, the device browser receives a specially constructed web page as a response to a page preview request. The specially constructed web page includes a JavaScript library that can retrieve the elements of the preview page from the web accelerator as serialized DOM elements and reconstruct the web page in the device browser.
The network accelerator WA runs a preview mirror service to process preview requests received from users. The device browser sends a URL request to the web accelerator for previewing. The preview mirror service (preview mirroring service, PMS) of the network accelerator WA receives a user's request. The preview mirror service of the web accelerator WA uses custom JavaScript (JS) to construct a simple page with empty HTML and sends the simple page to the device browser as a response. The device browser receives and loads the simple page. And executing JavaScript, and establishing a WebSocket connection (or WebRTC) between the device browser page and the preview mirror service of the WA. In parallel with the above process, the preview mirror service of the WA starts a headless browser in the network accelerator and loads the URL sent by the user. When a simple page is loaded in the headless browser, the preview mirror service of the WA injects JS fragments (i.e., libraries) into the page. The injected JavaScript creates a WebSocket connection in the headless browser to the preview mirror service. The injected JavaScript also registers a DOM change observer in the simple page, which listens to DOM changes in the simple page. The preview mirror server socket of the WA connects to the user's browser page and the headless browser page of the WA. In the web accelerator, when the headless browser page variation observer receives DOM updates, the headless browser page variation observer sequences them and pushes them as JSON messages in the WebSocket connection. In WA, the preview mirror service receives a message with an identifier from the headless browser. The WA, preview mirror service processes the message and sends the message to the device browser. The user browser page WebSocket receives the message, the user browser page WebSocket deserializes the message, a DOM node is created, and the message is added into the DOM tree. The above process is repeated until the device browser presents an actual page. Furthermore, the headless browser of the WA may send a request dependency tree to the device to help load the background original page faster.
The advantage of this approach is that the preview speed is faster, because the device only mirrors the DOM object, and there is no JavaScript execution of the actual page. The user can interact with the page basically, and the page animation can be operated during the preview by using the page navigation.
Optionally, the method includes performing compositor frame generation and buffering of preview pages as described herein.
The method may save the compositor frame/tile generated by the rendering process in the network accelerator. The browser view class may receive the composite frame from the render compositor, then serialize and save the pixels and metadata. The network accelerator may send the saved pixel data and metadata to the device via a custom protocol. The device may use the composite frame (e.g., including texture and metadata) to generate the preview page. The preview page may be swapped with the original web page as long as the background live frame of the original document is ready.
The method allows defining a new protocol to transfer synthesizer frames (2D textures, even compressed) as well as metadata and RenderPassList (i.e. quaternary parameter list). Synthesizer frames may have in-depth knowledge of frame parameters (e.g., page_scale_factor, frame_readline, etc.), which may ensure a smoother transition between the preview page and the original frame, as they may seamlessly fit the UI subsystem so that the switch between the preview page and the original web page may not be perceived. The method allows switching between preview pages and original web page content without using new tabs or rendering processes, thereby reducing significant RAM overhead. This approach reduces the time required to load the original web page because the graphics back-end is available after accepting the compositor frame and setting the output surface GPU command buffer. Optionally, the method includes performing an optimization of JavaScript processing. The network accelerator may perceive the browser type running on the device and may potentially optimize the content of the original page. The network accelerator WA may be aware of the hardware platform used by the user's hardware platform, which opens the possibility for precompilation of JavaScript resources. When a preview page is generated in the headless browser on the web accelerator WA, javaScript is compiled and executed. The headless browser may be modified to save a compiled version of JavaScript in the cache memory of the web accelerator WA. Once the preview content is generated on the web accelerator WA and sent to the device browser, the web accelerator WA can send any remaining (i.e., under-folded) resources and JavaScript resources to the device browser to load the original page in parallel with the background task. In this process, the network accelerator WA sends compiled JavaScript JS (i.e., using machine code, such as using the V8 JavaScript engine), among other resources. The device browser directly uses the compiled JavaScript instead of parsing and compiling the JavaScript source, thereby improving the readiness of the page for user interaction. The device browser stores the compiled JS in its disk cache along with other resources. When a page load request for the same page comes from another device browser, the web accelerator WA will also cache the compiled JS, and the continuous preview generation may accelerate (because the headless browser does not have to compile JavaScript in the continuous request) and push to the new device browser faster.
JavaScript compilation on the web accelerator WA may be processed according to the target architecture of the device browser based on the user agent data. The user agent string includes an operating system and platform, a device model, etc. The network accelerator WA obtains a target hardware platform that can perform the desired operations by owning a list of relevant devices/models and target platforms.
Optionally, the method includes generating the preview document on a web server. The preview document is generated by the web server itself serving the original page content. The functionality of the web accelerator WA is added as a custom plug-in to the web server to generate preview pages. The device browser uses a custom HTML header at the page request to instruct the device browser to support web page previews in MHTML format. In this method, the device sends a request to the page and adds a custom header "x-preview-format: mhtml". The additional header may communicate screen resolution information to one or more servers. One or more servers detect that the device supports custom previews and respond with MHTML previews that return the same custom header. The generated previews may be cached on a web server. The device detects that one or more servers respond to the MHTML preview, receives and renders the MHTML preview on the screen, and performs the following processes in parallel.
The browsing client of the device may send a second request for the content of the original page, receive the content, and render it on the screen. The second request includes an additional header "x-preview-format: none" to ensure that one or more servers can respond with the content of the original page.
This approach is advantageous in terms of improved architecture by moving preview generation from an intermediate node in the network to a network server serving the original page and thus can remove delays in transferring content requests between one or more servers and the network accelerator WA. One or more servers may know when the content changed and may continually update the generated preview pages if the original content changed. Previews of most pages provided by one or more servers may be generated in advance because it is easy to manage the smaller number of pages hosted by the current server.
Optionally, the method includes pushing the DOM preview resource and the original page using HTTP 2. In this method, the network accelerator WA responds to a preview request received from a device browser executing on the device by pushing first resources required to render the DOM preview. These resources are not bundled in one huge multipart HTML file, but pushed as a single item. The device browser uses existing push resource cache support. After pushing the resources required for the DOM preview, the network accelerator WA continues to push additional critical resources required for rendering the original page. The device browser may load the original webpage in the background and switch to the original webpage when the original webpage rendering is complete.
The pushing and preloading web page resources are as follows: first, the accelerator pushes the file to the browser file cache using HTTP/2 push. Efficient pushing requires that the accelerator be aware of the files present in the browser cache, otherwise duplicate transmissions may occur. The accelerator has more complete, updated information about the resources required for the HTML page than the browser itself, as the accelerator can learn from multiple browsing clients.
Optionally, the method includes tab serialization that suggests that the web preview be sent as a binary large object (binary large object, BLOB), including the serialized data of the browser tab content. Tab serializers acquire on a cloud browser (or more precisely webcontacts)Tabs, and serialize their state into a binary blob. The binary blobs may be reverse-sequenced later into tabs in the device browser. The tab serializer serializes the Chrome/Blink/V8 state that holds the tab necessary and sufficient, includingAll DOM/CSS/ActiveDOMObject states and V8 Javascript, virtual Machine (VM), states.
FIG. 7 is an illustration of an exemplary computer system 700 that may implement the various architectures and functions of the foregoing embodiments. As shown, computer system 700 includes at least one processor 704 coupled to bus 702, wherein computer system 700 may be implemented using any suitable protocol, such as peripheral component interconnect (peripheral component interconnect, PCI), PCI-Express, accelerated graphics port (accelerated graphics port, AGP), hyperTransport, or any other bus or point-to-point communication protocol(s). Computer system 700 also includes memory 706.
Control logic (software) and data are stored in memory 706, and memory 706 may take the form of random-access memory (RAM). In the present invention, a single semiconductor platform may refer to the only single semiconductor-based integrated circuit or chip. It should be noted that the term single semiconductor platform may also refer to a multi-chip module with enhanced connectivity that simulates a module on a chip with enhanced connectivity that simulates on-chip operation and is a substantial improvement over using conventional central processing unit (central processing unit, CPU) and bus implementations. Of course, the various modules may also be placed individually or in various combinations of semiconductor platforms, depending on the desires of the user.
The computer system 700 may also include secondary storage 710. Secondary storage 710 includes, for example, hard disk drives and removable storage drives representing floppy disk drives, magnetic tape drives, compact disk drives, digital versatile disk (digital versatiledisk, DVD) drives, audio recording devices, universal serial bus (universal serial bus, USB) flash memory. The removable storage drive reads from and writes to at least one of a removable storage unit in a well known manner.
A computer program or computer control logic algorithm may be stored in at least one of the memory 706 and the secondary storage 710. Such computer programs, when executed, enable the computer system 700 to perform the various functions described above. Memory 706, secondary storage 710, and any other memory are possible examples of computer-readable media.
In one embodiment, the architecture and functionality described in the various previous figures may be implemented in the context of processor 704, a graphics processor coupled to communications interface 712, an integrated circuit (not shown) capable of having at least a portion of the capabilities of both processor 704 and the graphics processor, a chipset (i.e., a set of integrated circuits designed to operate and sell as a unit to perform the relevant functions), and the like.
Furthermore, the architecture and functionality described in the various previously described figures may be implemented in the context of a general computer system, a circuit board system, a gaming machine system dedicated for entertainment purposes, a specific application system. For example, computer system 700 may take the form of a desktop computer, a notebook computer, a server, a workstation, a gaming machine, an embedded system.
In addition, computer system 700 may take the form of various other devices including, but not limited to, a palmtop (personal digital assistant, PDA) device, a mobile telephone device, a smart phone, a television, etc. Further, although not shown, computer system 700 may be coupled to a network (e.g., telecommunications network, local area network (local area network, LAN), wireless network, wide area network (wide area network, WAN) such as the internet, point-to-point network, cable network, etc.) for communication purposes through I/O interface 708.
It should be understood that the configuration of the components shown in the described figures is exemplary, and that other configurations are possible. It should also be appreciated that the various system components (and devices) defined by the claims, described below, and shown in the various block diagrams represent components in some systems configured in accordance with the subject matter disclosed herein. For example, one or more of these system components (and devices) may be implemented in whole or in part by at least some of the components shown in the configurations shown in the described figures.
Furthermore, while at least one of these components is at least partially implemented as an electronic hardware component, and thus constitutes a machine, other components may be implemented in software, which when included in an execution environment constitutes a machine, hardware, or a combination of software and hardware.
Although the present invention and its advantages have been described in detail, it should be understood that various changes, substitutions and alterations can be made herein without departing from the spirit and scope of the invention as defined by the appended claims.

Claims (23)

1. A method of loading a given web page into a device (102, 202, 302, 402), the device (102, 202, 302, 402) being connected to one or more servers (106A to 106N, 322A to 322N, 418A to 418N) and an intermediate service server (108) through a data communication system (104, 320, 416), the given web page to be rendered to a user (100, 200) requiring a browser to access a plurality of resources from the one or more servers (106A to 106N, 322A to 322N, 418A to 418N), the method comprising:
(a) -arranging for the browser to send a request to the intermediate service server (108) to obtain a preview package of the given web page;
(b) Receiving a preview package of the given web page from the intermediary service server (108) at the device (102, 202, 302, 402), and processing the preview package at the device (102, 202, 302, 402) to generate a first rendering of the given web page to be presented to the user (100, 200) on the device (102, 202, 302, 402), and arranging for the browser to request the one or more servers (106A to 106N, 322A to 322N, 418A to 418N) to provide web page data required to generate a second rendering of the given web page;
(c) Receiving the web page data and generating the second rendering of the web page data while presenting the first rendering of the web page to the user (100, 200);
(d) Configuring the browser to switch from presenting the first rendering to the user (100, 200) to presenting the second rendering of the given original webpage to the user (100, 200).
2. The method of claim 1, comprising switching from presenting the first rendering to the user (100, 200) to presenting the second rendering to the user (100, 200) in a seamless manner such that the user (100, 200) is unaware of the switching.
3. The method according to claim 1 or 2, characterized in that the method comprises arranging the first rendering as a simplified version of the second rendering, wherein the first rendering enables at least the user (100, 200) to perform at least one of the following by using the browser: zooming in/out of the first rendering, selecting and copying/pasting texture content from the first rendering, saving one or more images from the first rendering.
4. A method according to claim 1, 2 or 3, comprising providing the preview package in a bundle package format, the preview package comprising HTML code, wherein the bundle package format comprises at least one of: MHTML, mozilla archive format, web archive format.
5. A method according to claim 3 or 4, wherein the preview package comprises compressed (e.g. "compressed into zip format") data.
6. A method according to claim 3, 4 or 5, characterized in that the method comprises arranging the resources of the preview package in a certain order to most efficiently effect the first rendering on the device (102, 202, 302, 402).
7. The method of claim 6, comprising prioritizing the resources in the preview package so that the browser executes immediately upon receipt of the resources at the device (102, 202, 302, 402).
8. The method of any of the preceding claims, wherein the preview package has no executable code that enables user interaction.
9. The method according to any of the preceding claims, characterized in that the method comprises sending the request for the preview package in (a) as a single request to the intermediate service server (108).
10. The method of any of the preceding claims, comprising, at the device (102, 202, 302, 402), along with a portion of data for generating the first rendering to generate the second rendering.
11. The method of any of the preceding claims, comprising storing the data of the preview package in a data cache of the device (102, 202, 302, 402) processor.
12. The method of any of the preceding claims, comprising modifying the browser to cache all resources in the preview package as a single resource so that the resource is available in the device (102, 202, 302, 402) for rendering other web pages on the device (102, 202, 302, 402).
13. The method according to any of the preceding claims, comprising executing the browser on the device (102, 202, 302, 402).
14. The method according to any one of claims 1 to 12, characterized in that the method comprises executing the browser remotely from the device (102, 202, 302, 402) as a proxy.
15. The method of claim 14, wherein the agent is implemented by at least one of: a proxy server, a remote execution browser that proxies its User Interface (UI) to the device (102, 202, 302, 402) screen.
16. A method of operating a server apparatus (106A to 106N), characterized in that the server apparatus (106A to 106N) is for loading a given web page into a device (102, 202, 302, 402) connected to the server apparatus (106A to 106N) through a data communication system (104, 320, 416), the given web page to be rendered to a user (100, 200) of the device (102, 202, 302, 402) requiring a browser executing on the device (102, 202, 302, 402) to access a plurality of resources from the server apparatus, the method comprising:
(a) Receiving, at the server device (106A-106N), a request from the browser for a preview package of the given web page;
(b) Transmitting a preview package of the given web page from the server apparatus (106A to 106N) to the device (102, 202, 302, 402) for processing by the device (102, 202, 302, 402) to generate a first rendering of the given web page on the device (102, 202, 302, 402) for presentation to a user (100, 200), and receiving a request from the browser for web page data required to generate a second rendering of the given web page;
(c) -sending the web page data from the server means (106A to 106N) to the device (102, 202, 302, 402) for processing by the device (102, 202, 302, 402) to generate the second rendering of the web page data while presenting the first rendering of the web page to a user (100, 200), wherein the browser is adapted to switch from presenting the first rendering to the user (100, 200) to presenting the second rendering of the given web page to the user (100, 200).
17. The method of claim 16, further comprising configuring the server apparatus to include one or more servers (106A-106N, 322A-322N, 418A-418N) for providing the web page data to the device (102, 202, 302, 402), and configuring the server apparatus to include an intermediary service server (108) for providing the preview package to the device (102, 202, 302, 402), wherein the method further comprises configuring the intermediary service server (108) to obtain information from the one or more servers (106A-106N, 322A-322N, 418A-418N) for generating the preview package.
18. A software product comprising instructions executable on computing hardware to implement the method of any one of claims 1 to 17.
19. The software product of claim 18, wherein the software product is at least partially implemented as a software product executable on computing hardware of a data communication device.
20. A device (102, 202, 302, 402) for loading a given web page into the device (102, 202, 302, 402) when connected to one or more servers (106A to 106N, 322A to 322N, 418A to 418N) and an intermediate service server (108) through a data communication system (104, 320, 416), the device (102, 202, 302, 402) for using a browser for accessing a plurality of resources from the one or more servers (106A to 106N, 322A to 322N, 418A to 418N) and the intermediate service server (108), the device (102, 202, 302, 402) for:
(a) Sending a request for a preview package of the given web page to the intermediary service server (108) using the browser;
(b) Receiving the preview package of the given web page at the device (102, 202, 302, 402) and processing the preview package at the device (102, 202, 302, 402) to generate a first rendering of the given web page to be presented to a user (100, 200) on the device (102, 202, 302, 402) and to arrange for the browser to request the one or more servers (106A to 106N, 322A to 322N, 418A to 418N) to provide web page data required to generate a second rendering of the given original web page;
(c) Receiving the web page data and generating the second rendering of the web page data while presenting the first rendering of the web page to the user (100, 200);
(d) Configuring the browser to switch from presenting the first rendering to the user (100, 200) to presenting the second rendering of the given web page to the user (100, 200).
21. The device (102, 202, 302, 402) of claim 20, wherein the device (102, 202, 302, 402) is configured to switch from presenting the first rendering to the user (100, 200) to presenting the second rendering to the user (100, 200) in a seamless manner such that the user (100, 200) is unaware of the switch.
22. The device (102, 202, 302, 402) of claim 21 or 21, wherein the device (102, 202, 302, 402) is arranged to arrange the preview package to have a preview format for enabling the user (100, 200) to perform at least one of the following on the first rendering by using the browser: zooming in/out of the first rendering, selecting and copying/pasting texture content from the first rendering, saving one or more images from the first rendering.
23. The device (102, 202, 302, 402) according to any one of claims 20 to 22, wherein the device (102, 202, 302, 402) is configured to send the request in (a) as a single request to the intermediate service server (108).
CN202180092549.6A 2021-03-24 2021-03-24 Accelerating loading of web pages and web applications Pending CN116806336A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP2021/057527 WO2022199806A1 (en) 2021-03-24 2021-03-24 Accelerating loading of web pages and web applications

Publications (1)

Publication Number Publication Date
CN116806336A true CN116806336A (en) 2023-09-26

Family

ID=75302540

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180092549.6A Pending CN116806336A (en) 2021-03-24 2021-03-24 Accelerating loading of web pages and web applications

Country Status (2)

Country Link
CN (1) CN116806336A (en)
WO (1) WO2022199806A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12277190B2 (en) 2021-04-29 2025-04-15 Karan Walia Web task automation with vectorization
US12282801B2 (en) 2021-08-05 2025-04-22 Karan Walia Instruction interpretation for web task automation
US12236191B2 (en) * 2021-08-05 2025-02-25 Karan Walia Workflow instruction interpretation for web task automation

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120066586A1 (en) * 2010-09-07 2012-03-15 Yaniv Shemesh Systems and methods for accelerating web page loading
US8245125B1 (en) * 2011-11-30 2012-08-14 Google Inc. Hybrid rendering for webpages
US20140136973A1 (en) * 2012-11-14 2014-05-15 Amazon Technologies, Inc. Segmented delivery of preview content
US20180032491A1 (en) * 2016-07-26 2018-02-01 Google Inc. Web page display systems and methods
CN107710171A (en) * 2015-06-17 2018-02-16 法斯特利有限公司 The child resource loading of acceleration

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9690764B1 (en) * 2014-12-12 2017-06-27 Amazon Technologies, Inc. Delivery and display of page previews using shadow DOM

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120066586A1 (en) * 2010-09-07 2012-03-15 Yaniv Shemesh Systems and methods for accelerating web page loading
US8245125B1 (en) * 2011-11-30 2012-08-14 Google Inc. Hybrid rendering for webpages
US20140136973A1 (en) * 2012-11-14 2014-05-15 Amazon Technologies, Inc. Segmented delivery of preview content
CN107710171A (en) * 2015-06-17 2018-02-16 法斯特利有限公司 The child resource loading of acceleration
US20180032491A1 (en) * 2016-07-26 2018-02-01 Google Inc. Web page display systems and methods

Also Published As

Publication number Publication date
WO2022199806A1 (en) 2022-09-29

Similar Documents

Publication Publication Date Title
US11144711B2 (en) Webpage rendering method, device, electronic apparatus and storage medium
US9563929B1 (en) Caching of content page layers
CN113703893B (en) Page rendering method, device, terminal and storage medium
US10289659B2 (en) Delivery and display of page previews using shadow DOM
US8732571B2 (en) Methods and systems for generating and displaying a preview image of a content area
CN113326043B (en) Webpage rendering method, webpage manufacturing method and webpage rendering system
US10002115B1 (en) Hybrid rendering of a web page
US9563928B1 (en) Bandwidth reduction through delivery of hardware-independent graphics commands for portions of content pages
US9542501B2 (en) System and method for presenting content in a client/server environment
US9582600B1 (en) Cloud browser DOM-based client
US10545749B2 (en) System for cloud computing using web components
KR102421701B1 (en) Systems and Methods for Accelerating Content Delivery of Virtual Reality and Augmented Reality Web Pages
CN102902799B (en) The browser page display packing of a kind of sing on web Kit and device thereof
US20150286739A1 (en) Html5-protocol-based webpage presentation method and device
WO2018129774A1 (en) Method and device for page processing
US8516041B1 (en) Pre-fetching asynchronously requested content
CN116806336A (en) Accelerating loading of web pages and web applications
CN117828207A (en) Page rendering method, page rendering device and computer readable storage medium
CN115438290A (en) Method and system for automatically analyzing static resources of single-page application and preloading
CN109948085A (en) Browser kernel initial method, calculates equipment and storage medium at device
CN117407618A (en) Document processing method, device, computer equipment, storage medium and program product
CN109582417A (en) A kind of method for showing interface, client and picture servers
US11169666B1 (en) Distributed content browsing system using transferred hardware-independent graphics commands
WO2025163423A1 (en) Page navigation processing method, page content providing method, device and storage medium
US10042521B1 (en) Emulation of control resources for use with converted content pages

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