Systems and methods for caching and serving dynamic content
First Claim
1. A computer-implemented method of serving web content with a cache server, the method comprising:
- storing a cached version of a web page in memory, the cached version of the web page reflecting a version of the web page as of a particular time or date;
receiving a request from a client for a version of the web page;
sending a validation request to an origin server, the origin server storing a current version of the web page that reflects a version of the web page that has been modified since the particular date or time of the cached version of the web page;
receiving a validation response from the origin server, wherein;
if the client is associated with a first category of clients for which cached versions of web pages are to be served, the validation response includes an instruction for the cache server to provide the cached version of the web page to the client; and
if the client is associated with a second category of clients for which current versions of web pages are to be served, the validation response includes the current version of the web page and an instruction for the cache server to provide the current version of the web page to the client; and
providing the cached version of the web page or the current version of the web page to the client according to the validation response.
10 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
37 Claims
-
1. A computer-implemented method of serving web content with a cache server, the method comprising:
-
storing a cached version of a web page in memory, the cached version of the web page reflecting a version of the web page as of a particular time or date; receiving a request from a client for a version of the web page; sending a validation request to an origin server, the origin server storing a current version of the web page that reflects a version of the web page that has been modified since the particular date or time of the cached version of the web page; receiving a validation response from the origin server, wherein; if the client is associated with a first category of clients for which cached versions of web pages are to be served, the validation response includes an instruction for the cache server to provide the cached version of the web page to the client; and if the client is associated with a second category of clients for which current versions of web pages are to be served, the validation response includes the current version of the web page and an instruction for the cache server to provide the current version of the web page to the client; and providing the cached version of the web page or the current version of the web page to the client according to the validation response. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer-implemented method of serving web content with an origin server, the method comprising:
-
providing a cached version of a web page to a cache server, the cached version of the web page reflecting a version of the web page as of a particular time or date; storing a current version of the web page in memory, wherein the current version of the web page represents a version of the web page that has been modified since the particular date or time of the cached version of the web page; receiving a validation request from the cache server, wherein the validation request includes information about a client requesting a version of the web page from the cache server; determining whether the client is associated with a first category of clients or a second category of clients, wherein the first category of clients represents clients for which cached versions of web pages are to be served and the second category of clients represents clients for which current versions of web pages are to be served; sending a validation response to the cache server, wherein; if the client is associated with the first category of clients, the validation response includes an instruction for the cache server to provide the cached version of the web page to the client; and if the client is associated with the second category of clients, the validation response includes the current version of the web page and an instruction for the cache server to provide the current version of the web page to the client. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A cache server, comprising:
-
a processing system comprising one or more processors; and a memory system comprising one or more non-transitory computer-readable media containing instructions that, when executed by the processing system, cause the cache server to perform operations comprising; storing a cached version of a web page in memory, the cached version of the web page reflecting a version of the web page as of a particular time or date; receiving a request from a client for a version of the web page; sending a validation request to an origin server, the origin server storing a current version of the web page that reflects a version of the web page that has been modified since the particular date or time of the cached version of the web page; receiving a validation response from the origin server, wherein; if the client is associated with a first category of clients for which cached versions of web pages are to be served, the validation response includes an instruction for the cache server to provide the cached version of the web page to the client; and if the client is associated with a second category of clients for which current versions of web pages are to be served, the validation response includes the current version of the web page and an instruction for the cache server to provide the current version of the web page to the client; and providing the cached version of the web page or the current version of the web page to the client according to the validation response. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. An origin server, comprising:
-
a processing system comprising one or more processors; and a memory system comprising one or more non-transitory computer-readable media containing instructions that, when executed by the processing system, cause the cache server to perform operations comprising; providing a cached version of a web page to a cache server, the cached version of the web page reflecting a version of the web page as of a particular time or date; storing a current version of the web page in memory, wherein the current version of the web page represents a version of the web page that has been modified since the particular date or time of the cached version of the web page; receiving a validation request from the cache server, wherein the validation request includes information about a client requesting a version of the web page from the cache server; determining whether the client is associated with a first category of clients or a second category of clients, wherein the first category of clients represents clients for which cached versions of web pages are to be served and the second category of clients represents clients for which current versions of web pages are to be served; sending a validation response to the cache server, wherein; if the client is associated with the first category of clients, the validation response includes an instruction for the cache server to provide the cached version of the web page to the client; and if the client is associated with the second category of clients, the validation response includes the current version of the web page and an instruction for the cache server to provide the current version of the web page to the client. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A computer-implemented method, the method comprising:
-
storing a cached version of a web page in memory, the cached version of the web page reflecting a version of the web page as of a particular time or date; receiving a request from a client for a version of the web page; determining whether the client is associated with a first category of clients or a second category of clients, wherein the first category of clients represents clients for which cached versions of web pages are to be served and the second category of clients represents clients for which current versions of web pages are to be served; if the client is associated with the first category of clients, providing the cached version of the web page to the client; and if the client is associated with the second category of clients, providing a current version of the web page to the client, wherein the current version of the web page represents a version of the web page that has been modified since the particular date or time of the cached version of the web page.
-
Specification