Systems and methods for avoiding server push of objects already cached at a client
First Claim
Patent Images
1. A method performed by a web server to avoid pushing resources cached at a client, comprising:
- receiving a request from a client for a markup language document, the markup language document being associated with and locatable at a Universal Resource Locator (URL);
accessing a stored list of pushable resources that is associated with the URL, the stored list comprising a list of a plurality of pushable resources;
sending the markup language document to the client, in response to the request;
pushing a particular resource other than the markup language document to the client, without an associated client request therefor, the particular resource being pushed because the particular resource is on the stored list;
setting a cookie on the client, the cookie comprising a single bit that amongst the plurality of pushable resources corresponds only to the particular resource that was pushed from the web server and that is on the stored list, the single bit being set to indicate that the particular resource has been pushed to the client.
1 Assignment
0 Petitions
Accused Products
Abstract
This patent document describes, among other things, methods, apparatus, and systems for tracking those resources that a server has pushed to a client, e.g., using the HTTP 2.0 or other server push mechanism. Pushed resources may be cached at the client. By tracking such pushed resources, a server can avoid pushing such cached resources in response to subsequent requests from that client; doing so would be wasteful if the client already has the resource cached. Among other things, techniques for storing, encoding, organizing, and managing data about pushed resources in cookies are disclosed.
-
Citations
18 Claims
-
1. A method performed by a web server to avoid pushing resources cached at a client, comprising:
-
receiving a request from a client for a markup language document, the markup language document being associated with and locatable at a Universal Resource Locator (URL); accessing a stored list of pushable resources that is associated with the URL, the stored list comprising a list of a plurality of pushable resources; sending the markup language document to the client, in response to the request; pushing a particular resource other than the markup language document to the client, without an associated client request therefor, the particular resource being pushed because the particular resource is on the stored list; setting a cookie on the client, the cookie comprising a single bit that amongst the plurality of pushable resources corresponds only to the particular resource that was pushed from the web server and that is on the stored list, the single bit being set to indicate that the particular resource has been pushed to the client. - View Dependent Claims (2, 3, 4, 5, 6, 7, 18)
-
-
8. A method performed by a web server to avoid pushing resources cached at a client, comprising:
- receiving a request from a client for a markup language document, the markup language document being associated with and locatable at a Universal Resource Locator (URL);
accessing a first stored list of pushable resources that is associated with the URL, the stored list comprising a first list of a plurality of pushable resources that are each associated with time to live (TTL) values below a particular value; sending the markup language document to the client, in response to the request; pushing a first resource other than the markup language document to the client, without an associated client request for the first resource, the first resource being pushed because the first resource is on the first stored list; setting a first cookie on the client, the first cookie comprising data corresponding to the first resource that was pushed from the web server and that is on the first stored list, the data indicating that the first resource has been pushed to the client; wherein the first cookie has a first lifetime longer than the particular value; accessing a second stored list of pushable resources that is associated with the URL, the second stored list comprising a second list of a plurality of pushable resources that are each associated with time to live (TTL) values above the particular value; pushing a second resource other than the markup language document to the client, without an associated client request for the second resource, the second resource being pushed because the second resource is on the second stored list; setting a second cookie on the client, the second cookie comprising data corresponding to the second resource that was pushed from the web server and that is on the second stored list, the data indicating that the second resource has been pushed to the client; wherein the second cookie has a second lifetime greater than any of the TTL values in the second stored list. - View Dependent Claims (9, 10, 11)
- receiving a request from a client for a markup language document, the markup language document being associated with and locatable at a Universal Resource Locator (URL);
-
12. A method for avoiding server push of resources cached at a client, comprising:
-
with a web server, receiving a request from a client for a markup language document, the markup language document being associated with and locatable at a Universal Resource Locator (URL); the web server accessing a stored list of pushable resources that is associated with the particular domain name, the stored list comprising a list of a plurality of pushable resources; the web server sending the markup language document to the client, in response to the request;
the web server pushing a particular resource other than the markup language document to the client, without an associated client request for the particular resource, the particular resource being pushed because the particular resource is on the stored list;the web server setting a cookie on the client, the cookie comprising data corresponding to the particular resource that was pushed from the web server and that is on the stored list, the data indicating that the particular resource has been pushed to the client; wherein each of the plurality of pushable resources on the stored list is associated with a time to live (TTL) value and the stored list is associated with a lifetime; wherein the cookie stores lifetime data that defines a lifetime for the cookie equivalent to the lifetime for the stored list, the lifetime being longer than the TTL values of all the pushable resources on the stored list; further comprising, prior to the web server receiving the request, and with a process executing on the web server or on a server distinct from the web server, determining TTL values associated with each of the plurality of pushable resources on the stored list, and assigning the plurality of pushable resources to the stored list because they have TTL values less than the lifetime of the stored list. - View Dependent Claims (13, 14, 15, 16, 17)
-
Specification