SYSTEMS AND METHODS FOR CACHING AND SERVING DYNAMIC CONTENT
First Claim
1. A system for providing access to dynamic web content comprising:
- a shared caching server configured to receive a web page request from a user for access to a web page, wherein the web page request includes information about the requested web page and about the user, and wherein the shared caching server includes a repository of cached web pages, including the requested web page, the cached web page including header information that identifies when the cached web page was last modified; and
an origin server that stores a current version of the web page, the origin server configured to receive a validation request from the shared caching server for instructions whether to send the cached version of the web page to the user or to send a modified version of the web page to the user, the validation request including information about the user and about the cached version of the web page, the origin server further comprising;
a requestor identification module configured to determine a user type associated with the request; and
a validation-header-based decision module configured to receive from the requestor identification module an indication of the user type associated with the request, the validation-header-based decision module further configured to use the information about the cached version of the web page to determine if the cached version of the web page is the current version of the web page, and to provide an instruction for the shared caching server indicating whether to use the cached version of the web page or a modified version of the web page from the origin server.
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.
140 Citations
21 Claims
-
1. A system for providing access to dynamic web content comprising:
-
a shared caching server configured to receive a web page request from a user for access to a web page, wherein the web page request includes information about the requested web page and about the user, and wherein the shared caching server includes a repository of cached web pages, including the requested web page, the cached web page including header information that identifies when the cached web page was last modified; and an origin server that stores a current version of the web page, the origin server configured to receive a validation request from the shared caching server for instructions whether to send the cached version of the web page to the user or to send a modified version of the web page to the user, the validation request including information about the user and about the cached version of the web page, the origin server further comprising; a requestor identification module configured to determine a user type associated with the request; and a validation-header-based decision module configured to receive from the requestor identification module an indication of the user type associated with the request, the validation-header-based decision module further configured to use the information about the cached version of the web page to determine if the cached version of the web page is the current version of the web page, and to provide an instruction for the shared caching server indicating whether to use the cached version of the web page or a modified version of the web page from the origin server. - View Dependent Claims (2, 3, 4)
-
-
5. A method of serving web content, the method comprising:
-
sending a version of a web page with a validation header to a shared caching server for caching, wherein the validation header allows a computerized determination to be made as to whether the version of the web page is a current version of the web page and as to a type of user for which the version of the web page is suitable; receiving from the shared caching server, in response to a user request for the web page, a validation request comprising information about a user making the user request and information from the validation header from the cached version of the web page; determining, based on the information from the validation header and on the information about the user, whether to send to the shared caching server a response that includes a modified version of the web page with a new validation header or a response that includes an instruction to use the cached version of the web page; and sending the response to the shared caching server. - View Dependent Claims (6, 7, 8, 9, 10)
-
-
11. A method of serving cached web content, the method comprising:
-
caching, in a shared caching server, a version of a first web page that has a version identifier; receiving, at the shared caching server, a request from a user to access a current version of the first web page, wherein the user may be from one of two or more different user types, and wherein users of different types receive different versions of the first web page; sending a first validation request to an origin server, wherein the first validation request includes information indicative of the version identifier and information about the user; receiving, at the shared caching server, a response from the origin server that includes a modified version of the first web page for sending to the user or includes instructions to send the cached version of the first web page to the user, wherein the response is generated by the origin server, based, at least in part, on at least one of the set consisting of;
a determination of the user'"'"'s user type and a determination as to whether the cached version of the first web page in the shared caching server is the current version of the first web page; andif a modified version of the first web page is received by the shared caching server from the origin server, providing the modified version of the first web page to the user, and if no modified version of the web page is received by the shared caching server, providing the cached version of the first web page to the user. - View Dependent Claims (12, 13, 14, 15, 16)
-
-
17. A computer-readable medium having stored thereon executable instructions that, when executed by a processor, cause the processor to perform a method for serving web content, the method comprising:
-
sending a version of a web page with a validation header to a shared caching server for caching, wherein the validation header allows a computerized determination to be made as to whether the version of the web page is a current version of the web page and as to a type of user for which the version of the web page is suitable; receiving from the shared caching server, in response to a user request for the web page, a validation request comprising information about a user making the user request and information from the validation header from the cached version of the web page; determining, based on the validation header information and on the information about the user, whether to send to the shared caching server a response that includes a modified version of the web page with a new validation header or a response that includes an instruction to use the cached version of the web page; and sending the response to the shared caching server.
-
-
18. A computer-readable medium having stored thereon executable instructions that, when executed by a processor, cause the processor to perform a method for serving cached web content, the method comprising:
-
caching, in a shared caching server, a version of a web page that has a version identifier; receiving, at the shared caching server, a request from a user to access a current version of the web page, wherein the user may be from one of two or more different user types, and wherein users of different types receive different versions of the web page; sending a validation request to an origin server, wherein the validation request includes information indicative of the version identifier and information about the user; receiving, at the shared caching server, a response from the origin server that includes a modified version of the web page for sending to the user or includes instructions to send the cached version of the web page to the user, wherein the response is generated by the origin server, based, at least in part, on at least one of the set consisting of;
a determination of the user'"'"'s user type and a determination as to whether the web page in the shared caching server is the current version of the web page; andif a modified version of the web page is received by the shared caching server from the origin server, providing the modified version of the web page to the user, and if no modified version of the web page is received by the shared caching server, providing the cached version of the web page to the user.
-
-
19. An origin server for providing access to dynamic web content, comprising:
-
a storage module configured to store a current version of at least one web page; a request module configured to receive a validation request from a shared caching server, wherein the validation request includes information about a user requesting access to the web page and information about a cached version of the web page available to the shared caching server; a requestor identification module configured to determine a user type associated with the request; and a validation-header-based decision module configured to receive from the requestor identification module an indication of the user type associated with the request, the validation-header-based decision module further configured to use the information about the cached version of the web page and/or user type to determine whether to serve the cached version of the web page or a modified version of the web page from the origin server, and to provide an instruction for the shared caching server.
-
-
20. A shared caching server, comprising:
-
an access request module configured to receive a request from a user for access to a web page wherein the request includes information about the requested web page and about the user; a repository of cached web pages, including the requested web page, the cached web page including header information that identifies when the cached web page was last modified; and a validation send module configured to send a validation request to an origin server for instructions whether to serve the cached version of the web page to the user or to send a modified version of the web page to the user, the validation request including information about the user and about the cached version of the web page. - View Dependent Claims (21)
-
Specification