Reducing latencies in web page rendering
First Claim
1. A method for validating cached embedded resources in a web page, the method comprising:
- receiving a validation message from a client system executing a web browser, the validation message identifying at least one resource embedded in a web page and stored in a cache of the web browser, wherein the validation message is sent by the client system prior to the web browser issuing an HTTP validation request for the embedded resource;
generating a request to validate the embedded resource to determine whether the embedded resource has been modified since the embedded resource was stored in the cache of the browser, the embedded resource being identified in the validation message sent by the client system;
sending the request to validate the embedded resource to a server;
receiving, from the server and in response to the request sent to the server, a validation response;
sending the validation response to the client system to provide the validation response to the web browser rendering the web page to satisfy the HTTP validation request issued by the browser to validate the embedded resource;
determining whether a URL for the web page is similar to a URL for a second web page based on canonicalizing the URL for the web page and the URL for the second web page;
when the URL for the web page is determined to be similar to the URL for the second web page, performing a differential mapping between the page structure corresponding to the web page and a page structure corresponding to the second web page to determine if similarities between the page structures exceed a threshold; and
when the similarities between the page structure corresponding to the web page and the page structure corresponding to the second web page exceed the threshold, determining the second web page to be a sibling web page and updating the page structure corresponding to the web page based on changes to the sibling web page.
10 Assignments
0 Petitions
Accused Products
Abstract
A page structure may be used to begin validation of an embedded resource prior to the time a browser issues a request to validate the embedded resource. A page structure includes information indicating one or more embedded resources in the web page and, in some implementations, its corresponding cache characteristics. The page structure may be used to generate a validation message that indicates resources to be validated. The validation message may be sent to a server at substantially the same time that the browser begins rendering the web page. The server can then begin validating the resources indicated in the validation message by sending validation requests to an origin or other server storing the embedded resources. The server then may send the validation responses back to the client computer executing the browser so that the validation responses can be used to satisfy corresponding validation requests generated by the browser.
53 Citations
24 Claims
-
1. A method for validating cached embedded resources in a web page, the method comprising:
-
receiving a validation message from a client system executing a web browser, the validation message identifying at least one resource embedded in a web page and stored in a cache of the web browser, wherein the validation message is sent by the client system prior to the web browser issuing an HTTP validation request for the embedded resource; generating a request to validate the embedded resource to determine whether the embedded resource has been modified since the embedded resource was stored in the cache of the browser, the embedded resource being identified in the validation message sent by the client system; sending the request to validate the embedded resource to a server; receiving, from the server and in response to the request sent to the server, a validation response; sending the validation response to the client system to provide the validation response to the web browser rendering the web page to satisfy the HTTP validation request issued by the browser to validate the embedded resource; determining whether a URL for the web page is similar to a URL for a second web page based on canonicalizing the URL for the web page and the URL for the second web page; when the URL for the web page is determined to be similar to the URL for the second web page, performing a differential mapping between the page structure corresponding to the web page and a page structure corresponding to the second web page to determine if similarities between the page structures exceed a threshold; and when the similarities between the page structure corresponding to the web page and the page structure corresponding to the second web page exceed the threshold, determining the second web page to be a sibling web page and updating the page structure corresponding to the web page based on changes to the sibling web page. - View Dependent Claims (2, 3, 4, 5, 6, 20, 21)
-
-
7. A non-transitory computer-readable storage medium storing a computer program for validating cached embedded resources in a web page, the computer program comprising instructions for causing a computer to perform the following operations:
-
generate a page structure that corresponds to a web page and indicates at least one resource embedded in the web page; generate a validation message based on the page structure, the validation message identifying the embedded resource stored in a cache of a web browser; send the validation message to a first server prior to the web browser issuing an HTTP validation request for the embedded resource; receive, from the first server, a validation response for the embedded resource; and provide the validation response to a web browser rendering the web page to satisfy an HTTP validation request to validate the embedded resource issued by the web browser, wherein the computer program further comprises instruction for causing the computer to; determine whether a URL for the web page is similar to a URL for a second web page based on canonicalizing the URL for the web page and the URL for the second web page; when the URL for the web page is determined to be similar to the URL for the second web page, perform a differential mapping between the page structure corresponding to the web page and a page structure corresponding to the second web page to determine if similarities between the page structures exceed a threshold; and when the similarities between the page structure corresponding to the web page and the page structure corresponding to the second web page exceed the threshold, determine the second web page to be a sibling web page and update the page structure corresponding to the web page based on changes to the sibling web page. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 24)
-
-
19. A method for validating cached embedded resources in a web page, the method comprising:
-
receiving a validation message from a client system executing a web browser, the validation message identifying multiple resources embedded in a web page and stored in a cache of the web browser, wherein the validation message is sent by the client system prior to the web browser issuing an HTTP validation request for the embedded resource; generating requests to validate the embedded resources to determine whether the embedded resource has been modified since the embedded resource was stored in the cache of the browser, the embedded resource being identified in the validation message sent by the client system; sending the requests to validate the embedded resources to one or more servers; receiving, from the servers and in response to the requests sent to the server, validation responses; sending the validation responses to the client system to provide the validation responses to the web browser rendering the web page to satisfy the HTTP validation requests issued by the browser to validate the embedded resources; determining whether a URL for the web page is similar to a URL for a second web page based on canonicalizing the URL for the web page and the URL for the second web page; when the URL for the web page is determined to be similar to the URL for the second web page, performing a differential mapping between the page structure corresponding to the web page and a page structure corresponding to the second web page to determine if similarities between the page structures exceed a threshold; and when the similarities between the page structure corresponding to the web page and the page structure corresponding to the second web page exceed the threshold, determining the second web page to be a sibling web page and updating the page structure corresponding to the web page based on changes to the sibling web page. - View Dependent Claims (22, 23)
-
Specification