Patent ID: 8775550

Claim:
A method of providing content to a plurality of clients comprising: defining, at a server, a web request object of a web application framework; overriding, at the server, the web request object with a cacheable web request object, said cacheable web request object derived from the web request object; receiving, at the server, a request from a particular client of the plurality of clients for a web page containing aggregated content, said web page including at least one content item; parsing the web page request from the particular client into at least one request for a requested content item from the cacheable web request object; determining, via the cacheable web request object, whether retrieval of the requested content item from one or more content providers is required, wherein the determination that the requested content item requires retrieval comprises at least one of the following: determining the content item is not cacheable; determining the content item is not present in a cache accessible to the server; and, determining the content item is cacheable and stored in a cache accessible to the server and is not valid; retrieving, via the cacheable web request object, any content items requiring retrieval from one or more content providers; storing, in the cache, each retrieved content item as retrieved from the content provider that is cacheable and valid; maintaining the content item stored in the cache when the content item is valid as indicated by a web header collection object and deleting the content item stored in the cache when the content item is no longer valid as indicated by the web header collection object, said web header collection object storing a header of the content item including information indicating whether the content item is valid; exposing the retrieved content item stored in the cache as a stream such that the server does not differentiate between a content item retrieved from the cache and a content item retrieved from the content provider; retrieving at least one cached content item corresponding to the at least one request for a content item from the cacheable web request object; aggregating the results yielded by the cacheable web request object from the content item requests that were parsed from the web page request; and providing the aggregated content items to the particular client as the web page.