Progressive consolidation of web page resources
First Claim
1. A method implemented by a computer device for modifying web pages before delivery to client web browser, to enhance web page performance, the method comprising:
- receiving HTML associated with a web page;
modifying the HTML by removing first and second references in the HTML, the first reference being to a first resource and the second reference being to a second resource, the first and second resources each being of a first type that a client processes only after the entire resource is received by the client web browser;
wherein the first and second resources comprise one of;
(i) first and second CSS files of type CSS, (ii) first and second image files of type image, and (iii) first and second scripts of type script;
inserting content from the first resource and content from second resource into a container resource, wherein the container resource is of a second type in which content from the first resource will be processed by the client web browser to render the web page without waiting for content from the second resource to be received by the client web browser;
wherein said processing to render the web page without waiting for content from the second resource to be received comprises;
(iv) for the first and second resources comprising first and second CSS files, the client web browser applying at least part of the content of the first CSS file to render the web page before the content of the second CSS file finishes downloading to the client web browser;
(v) for the first and second resources comprising first and second image files, the client web browser beginning to display the first image file before the second file finishes downloading to the client web browser;
(vi) for the first and second resources comprising first and second scripts, the client web browser executing at least part of the first script to render the web page before the second script is finished downloading to the client web browser;
modifying the HTML by inserting a reference to the container resource into the HTML, so as to have the client web browser process the content from the first resource and the content from the second resource that is in the container resource while processing the HTML; and
,serve the modified HTML to the client web browser.
1 Assignment
0 Petitions
Accused Products
Abstract
Described herein are systems, method and devices for modifying web pages to enhance their performance. In certain non-limiting embodiments, improved resource consolidation techniques are described, which are sometimes referred to herein as ‘progressive’ consolidation. Such techniques can be used to consolidate page resources in a way that allows a client browser or other application to process each of the consolidated resources after it arrives, even if all the client has not fully retrieved all of the consolidated resources yet. The teachings hereof can be used, for example, to modify a markup language document (HTML) to consolidate CSS, JavaScript, images, or other resources referenced therein.
-
Citations
17 Claims
-
1. A method implemented by a computer device for modifying web pages before delivery to client web browser, to enhance web page performance, the method comprising:
-
receiving HTML associated with a web page; modifying the HTML by removing first and second references in the HTML, the first reference being to a first resource and the second reference being to a second resource, the first and second resources each being of a first type that a client processes only after the entire resource is received by the client web browser; wherein the first and second resources comprise one of;
(i) first and second CSS files of type CSS, (ii) first and second image files of type image, and (iii) first and second scripts of type script;inserting content from the first resource and content from second resource into a container resource, wherein the container resource is of a second type in which content from the first resource will be processed by the client web browser to render the web page without waiting for content from the second resource to be received by the client web browser; wherein said processing to render the web page without waiting for content from the second resource to be received comprises;
(iv) for the first and second resources comprising first and second CSS files, the client web browser applying at least part of the content of the first CSS file to render the web page before the content of the second CSS file finishes downloading to the client web browser;
(v) for the first and second resources comprising first and second image files, the client web browser beginning to display the first image file before the second file finishes downloading to the client web browser;
(vi) for the first and second resources comprising first and second scripts, the client web browser executing at least part of the first script to render the web page before the second script is finished downloading to the client web browser;modifying the HTML by inserting a reference to the container resource into the HTML, so as to have the client web browser process the content from the first resource and the content from the second resource that is in the container resource while processing the HTML; and
,serve the modified HTML to the client web browser. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A proxy server machine comprising circuitry forming one or more processors and at least one storage device storing instructions for modifying web pages before delivery to client web browser, to enhance web page performance, the instructions, when executed by the one or more processors, causing the proxy server machine to:
-
receive a request for HTML from web browser running on a client device, the HTML being associated with a web page; request the HTML from another server machine; receive the HTML from the another server machine; modify the HTML by removing first and second references in the HTML, the first reference being to a first resource and the second reference being to a second resource, the first and second resources each being of a first type that is processed by the web browser only after the entire resource is received by the web browser; wherein the first and second resources comprise one of;
(i) first and second CSS files of type CSS, (ii) first and second image files of type image, and (iii) first and second scripts of type script;modify the HTML by;
inserting a reference to a container resource into the HTML, so as to have the web browser process the content from the first resource and the content from the second resource that is in the container resource while processing the HTML; and
,serve the modified HTML to the web browser; wherein the container resource comprises content from the first resource and content from second resource, and the container resource is of a second type in which content from the first resource will be processed by the web browser to render the web page without waiting for content from the second resource to be received by the web browser; wherein said processing to render the web page without waiting for content from the second resource to be received comprises;
(iv) for the first and second resources comprising first and second CSS files, the client web browser applying at least part of the content of the first CSS file to render the web page before the second CSS file finishes downloading to the client web browser;
(v) for the first and second resources comprising first and second image files, the client web browser beginning to display the first image file before the second file finishes downloading to the client web browser;
(vi) for the first and second resources comprising first and second scripts, the client web browser executing at least part of the first script to render the web page before the second script is finished downloading to the client web browser. - View Dependent Claims (13, 14, 15, 16, 17)
-
Specification