Systems and methods for caching and serving dynamic content
First Claim
1. A computer-implemented method, comprising:
- receiving, from a client, a request for content;
determining, with at least one processor, whether a cached version of the requested content is stored in a memory device, the cached version of the requested content reflecting a version of the requested content as of a particular time or date;
sending a validation request to an origin server when the cached version of the requested content exists, the validation request including at least information indicating whether the client is associated with at least one of a plurality of different categories of clients and header information based on the cached version of the requested content; and
receiving a validation response from the origin server if the client is associated with at least one of the plurality of different categories of clients, the validation response including;
an instruction to provide the cached version of the requested content to the client if the requested content has not been modified since the particular time or date of the cached version of the requested content; and
an instruction to provide a current version of the requested content to the client if the requested content has been modified since the particular time or date of the cached version of the requested content.
8 Assignments
0 Petitions
Accused Products
Abstract
A web server and a shared caching server are described for serving dynamic content to users of at least two different types, where the different types of users receive different versions of the dynamic content. A version of the dynamic content includes a validation header, such as an ETag, that stores information indicative of the currency of the dynamic content and information indicative of a user type for which the version of the dynamic content is intended. In response to a user request for the dynamic content, the shared caching server sends a validation request to the web server with the validation header information. The web server determines, based on the user type of the requestor and/or on the currency of the cached dynamic content whether to instruct the shared caching server to send the cached content or to send updated content for serving to the user.
-
Citations
18 Claims
-
1. A computer-implemented method, comprising:
-
receiving, from a client, a request for content; determining, with at least one processor, whether a cached version of the requested content is stored in a memory device, the cached version of the requested content reflecting a version of the requested content as of a particular time or date; sending a validation request to an origin server when the cached version of the requested content exists, the validation request including at least information indicating whether the client is associated with at least one of a plurality of different categories of clients and header information based on the cached version of the requested content; and receiving a validation response from the origin server if the client is associated with at least one of the plurality of different categories of clients, the validation response including; an instruction to provide the cached version of the requested content to the client if the requested content has not been modified since the particular time or date of the cached version of the requested content; and an instruction to provide a current version of the requested content to the client if the requested content has been modified since the particular time or date of the cached version of the requested content. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-implemented method, comprising:
-
receiving, from a cache server, a validation request including at least information indicating whether a client requesting content is associated with at least one of a plurality of different categories of clients and header information based on a cached version of the requested content in the cache server, the cached version of the requested content reflecting a version of the requested content as of a particular time or date; determining, with at least one processor, if the client is associated with at least one of the plurality of different categories of clients; generating a validation response if the client is associated with at least one of the plurality of different categories of clients, the validation response including; an instruction to provide the cached version of the requested content to the client if the requested content has not been modified since the particular time or date of the cached version of the requested content; and an instruction to provide a current version of the requested content to the client if the requested content has been modified since the particular time or date of the cached version of the requested content. - View Dependent Claims (8, 9)
-
-
10. A cache server, comprising:
-
a processing system comprising one or more processors; and a memory system comprising one or more computer-readable media containing instructions that, when executed by the processing system, cause the cache server to perform operations comprising; receiving, from a client, a request for content; determining whether a cached version of the requested content is stored in memory, the cached version of the requested content reflecting a version of the requested content as of a particular time or date; sending a validation request to an origin server when the cached version of the requested content exists, the validation request including at least information indicating whether the client is associated with at least one of a plurality of different categories of clients and header information based on the cached version of the requested content; and receiving a validation response from the origin server if the client is associated with at least one of the plurality of different categories of clients, the validation response including; an instruction to provide the cached version of the requested content to the client if the requested content has not been modified since the particular time or date of the cached version of the requested content; and an instruction to provide a current version of the requested content to the client if the requested content has been modified since the particular time or date of the cached version of the requested content. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. An origin server, comprising:
-
a processing system comprising one or more processors; and a memory system comprising one or more computer-readable media containing instructions that, when executed by the processing system, cause the origin server to perform operations comprising; receiving, from a cache server, a validation request including at least information indicating whether a client requesting content is associated with at least one of a plurality of different categories of clients and header information based on a cached version of the requested content in the cache server, the cached version of the requested content reflecting a version of the requested content as of a particular time or date; determining if the client is associated with at least one of a plurality of different categories of clients; generating a validation response if the client is associated with at least one of the plurality of different categories of clients, the validation response including; an instruction to provide the cached version of the requested content to the client if the requested content has not been modified since the particular date or time of the cached version of the requested content; and an instruction to provide a current version of the requested content to the client if the requested content has been modified since the particular date or time of the cached version of the requested content. - View Dependent Claims (17, 18)
-
Specification