Method and system for inserting POST data into the GET request to apply normal caching rules
First Claim
1. A method for caching content responsive to a POST request from a client, the method comprising:
- receiving over a network at a cache server a POST request from a client requesting content, wherein the POST request comprises a first uniform resource locator (URL) and a first payload configured as a URL/payload combination;
accessing a database configured to store entries including;
a stored combination of a second URL and an associated second payload configured as a stored URL/payload combination from a previous POST request;
an index value associated with the stored second URL/payload combination; and
cached content responsive to the second URL/payload combination associated with the previous POST request, wherein the cache server retrieves cached content from a content server by recreating the POST request from data in the second URL/payload combination associated with the POST request and applying the recreated request to the content server;
determining whether the first URL/payload combination associated with the received POST request matches the stored second URL/payload combination from the database and one of;
if the first URL/payload combination associated with the received POST request matches the stored second URL/payload combination from the database, retrieving the index value associated with the stored second URL/payload combination; and
if the first URL/payload combination associated with the received POST request does not match the stored second URL/payload combination from the database;
storing the first URL/payload combination associated with the POST request in an open entry in the database;
associating a new index value with the stored first URL/payload combination; and
sending a redirect GET request over the network to the client including the URL from the stored first or second URL/payload combination and the associated index value, wherein the cache server is configured to respond to the client after receiving a redirect GET request to determine if the index value included in the redirect GET request identifies an entry in the database caching content responsive to the POST request.
1 Assignment
0 Petitions
Accused Products
Abstract
A method and system for caching HTTP POST requested content using standard caching rules associated with HTTP GET requests are disclosed. When a POST request is received, it is transformed into a GET request with an identifying tag. The identifying tag includes an index value that is unique to the POST request and is based on the POST request'"'"'s URL and payload. When the POST request has not been encountered before the POST request'"'"'s URL and payload is stored in a data store. The client then receives a redirect response including the GET request with the identifying tag that it uses to request the data. When the ensuing GET request with the identifying tag is received it is determined if the requested content has been cached. If so, the cached content is returned to the client. Otherwise, the original POST request is recreated and sent to the origin server to retrieve the content. The returned content is sent to the client and is cached using the GET request with the identifying tag.
-
Citations
12 Claims
-
1. A method for caching content responsive to a POST request from a client, the method comprising:
-
receiving over a network at a cache server a POST request from a client requesting content, wherein the POST request comprises a first uniform resource locator (URL) and a first payload configured as a URL/payload combination; accessing a database configured to store entries including; a stored combination of a second URL and an associated second payload configured as a stored URL/payload combination from a previous POST request; an index value associated with the stored second URL/payload combination; and cached content responsive to the second URL/payload combination associated with the previous POST request, wherein the cache server retrieves cached content from a content server by recreating the POST request from data in the second URL/payload combination associated with the POST request and applying the recreated request to the content server; determining whether the first URL/payload combination associated with the received POST request matches the stored second URL/payload combination from the database and one of; if the first URL/payload combination associated with the received POST request matches the stored second URL/payload combination from the database, retrieving the index value associated with the stored second URL/payload combination; and if the first URL/payload combination associated with the received POST request does not match the stored second URL/payload combination from the database; storing the first URL/payload combination associated with the POST request in an open entry in the database; associating a new index value with the stored first URL/payload combination; and sending a redirect GET request over the network to the client including the URL from the stored first or second URL/payload combination and the associated index value, wherein the cache server is configured to respond to the client after receiving a redirect GET request to determine if the index value included in the redirect GET request identifies an entry in the database caching content responsive to the POST request. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-implemented method, comprising:
-
receiving a POST request from a client over a network at a cache server, the POST request seeking content from a content server and presenting a first uniform resource locator (URL)/payload combination including a combination of a first URL and a first associated payload; accessing a local database including a plurality of entries, each of the entries being configured to include a stored URL/payload combination including a combination of a second URL and a second associated payload from a previously presented POST request, an index value associated with the stored second URL/payload combination; and
content responsive to the second URL/payload combination associated with the previous POST request wherein the content is retrieved from the content server by recreating the POST request from data in the second URL/payload combination associated with the POST request and applying the recreated request to the content server; anddetermining whether the first URL/payload combination associated with the received POST request matches the stored second URL/payload combination from the database and one of; if the first URL/payload combination associated with the received POST request matches the stored second URL/payload combination from the database retrieving the index value associated with the stored second URL/payload combination;
if the local database fails to include an entry matching the first URL/payload combination associated with the received POST request;storing the first URL/payload combination associated with the received POST request in the local database; associating an index value with the first URL/payload combination associated with the received POST request in the local database; applying the received POST request to the content server; receiving content from the content server responsive to the applied POST request; and caching the content responsive to the applied POST request in the local database in association with the stored first URL/payload combination associated with the received POST request and the index value; generating a GET request corresponding with the received POST request, the GET request including the URL from the stored first or second URL/payload combination and the associated index value; and sending the GET request corresponding with the received POST request to the client, wherein the GET request is configured to allow the client to submit the GET request to the cache server to identify the entry caching the content responsive to the received POST request, wherein the cache server is configured to respond to the client after receiving the GET request to determine if the index value included in the GET request identifies an entry in the database caching content responsive to the POST request. - View Dependent Claims (8, 9)
-
-
10. A computer-readable storage medium having stored thereon instructions for operating a cache server, the instructions comprising:
-
receiving at the cache server a POST request from a client, wherein the POST request includes a first uniform resource locator (URL) and a first payload of information received as part of the POST request, and wherein the cache server is configured to store entries including a stored combination of a second URL and an associated second payload configured as a stored URL/payload combination from a previous POST request an index value associated with the stored second URL/payload combination; and
cached content responsive to the second URL/payload combination associated with the previous POST request;
wherein the content is retrieved from the content server by recreating the POST request from data in the second URL/payload combination associated with the POST request and applying the recreated request to the content server; anddetermining whether the cache server maintains an entry representing the POST request including the second URL and the second payload matching with the first URL and first payload received as part of the POST request; if the entry representing the POST request is not stored in the cache server; creating a new entry for storing the POST request in the cache server, the new entry including the first URL and the first payload associated with an index value; if the first URL/payload combination associated with the received POST request matches the stored second URL/payload combination from the database retrieving the index value associated with the stored second URL/payload combination; and generating a GET request corresponding with the POST request, the GET request including the first URL and the index value representing the new entry for storing the POST request, such that when the GET request is presented to the cache server, the cache server is configured to one of; present to the client content previously retrieved from a content server in response to the POST request being presented to the content server by the cache server and stored in the cache server based on the second URL and second payload and associated index value; recreate the POST request from the first URL and the first payload stored in the cache server in association with the index value included with the GET request and presenting the POST request to the content server to retrieve the content; and sending the GET request over the network to the client including the URL from the stored first or second URL/payload combination and the associated index value wherein the cache server is configured to respond to the client after receiving the GET request to determine if the index value included in the GET request identifies an entry in the database caching content responsive to the POST request. - View Dependent Claims (11, 12)
-
Specification