IP Library Granted Patent US 8,381,098
Granted Patent B2
US 8,381,098 · App. 12/748,510 · Granted Feb 19, 2013

Webpage request handling

Inventors: Mark Carl Hampton (Newtown, AU); Eric Martinez de Morentin (Manly, AU); Kenneth Sabir (Marrickville, AU)
Assignee: International Business Machines Corporation
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,381,098
App. No.
12/748,510
Granted
Feb 19, 2013
Kind
B2
Abstract

A method, computer program product, and system for webpage request handling is described. A method may comprise recording, in a memory, a change time for each of a plurality of elements of a website available from an origin server, each time a change to any one of the plurality of elements occurs. The method may further comprise updating a system-last-modified time of the website to a latest change time.

Claims (60)

1. A method comprising:

generating, at an origin server and by operation of one or more computer processors, content of a webpage using a plurality of elements;

upon detecting a modification to an element of the plurality of elements, determining a change time at which the element was modified; and

upon determining that the modification to the element has no effect on the generated content of the webpage, disregarding the change time of the latest change with respect to a system-last-modified time of the webpage; and

comparing the system-last-modified time of the webpage against a last modified time of a copy of the webpage.

2. The method of claim 1 , further comprising:

upon determining that the system-last-modified time of the webpage is later than the last-modified time of the copy of the webpage stored in a cache of at least one of a client electronic device, a proxy server, and the origin server, rebuilding the webpage at the origin server in response to a request for the webpage.

3. The method of claim 1 , further comprising:

upon determining that the system-last-modified time of the webpage is not later than the last-modified time of the copy of the webpage stored in a cache of at least one of a client electronic device, a proxy server, and the origin server, retrieving the copy of the webpage from the cache.

4. The method of claim 1 , further comprising:

rebuilding the webpage at the origin server upon determining that an if-modified-since HTTP request is true based upon, at least in part, at least one of the system-last-modified time and the change time of the element.

5. The method of claim 1 , further comprising:

retrieving the copy of the webpage from a cache of at least one of a client electronic device, a proxy server, and the origin server upon determining that a 304 not-modified HTTP status code is returned in response to an if-modified-since HTTP request based upon, at least in part, at least one of the system-last-modified time and the change time of the element.

6. The method of claim 1 , further comprising:

upon detecting a second modification to a second element of the plurality of elements, determining a second change time at which the second element was modified;

upon determining that the second detected modification to the second element has an effect on the generated content of the webpage, updating the system-last-modified time of the webpage to the second change time.

7. The method of claim 2 , further comprising:

upon determining that the webpage has one or more access controlled elements:

storing a copy of the webpage rebuilt at the origin server in the cache of the client electronic device; and

setting a cache-control header of the webpage to private.

8. The method of claim 1 , further comprising:

adding the webpage to a configurable exclusion list upon determining that (i) at least one element on the webpage comes from a third party data source and (ii) the origin server cannot determine a change time for the at least one element; and

preventing external caching of the webpage on the configurable exclusion list.

9. A computer program product residing on a computer readable storage medium having a plurality of instructions stored thereon, which, when executed by a processor, cause the processor to perform operations comprising:

generating, at an origin server, content of a webpage using a plurality of elements;

upon detecting a modification to an element of the plurality of elements, determining a change time at which the element was modified; and

upon determining that the modification to the element has no effect on the generated content of the webpage, disregarding the change time of the latest change with respect to a system-last-modified time of the webpage; and

comparing the system-last-modified time of the webpage against a last modified time of a copy of the webpage.

10. The computer program product of claim 9 , the operations further comprising:

upon determining that the system-last-modified time of the webpage is later than the last-modified time of the copy of the webpage stored in a cache of at least one of a client electronic device, a proxy server, and the origin server, rebuilding the webpage at the origin server in response to a request for the webpage.

11. The computer program product of claim 9 , the operations further comprising:

upon determining that the system-last-modified time of the webpage is not later than the last-modified time of the copy of the webpage stored in a cache of at least one of a client electronic device, a proxy server, and the origin server, retrieving the copy of the webpage from the cache.

12. The computer program product of claim 9 , the operations further comprising:

rebuilding the webpage at the origin server upon determining that an if-modified-since HTTP request is true based upon, at least in part, at least one of the system-last-modified time and the change time of the element.

13. The computer program product of claim 9 , the operations further comprising:

retrieving the copy of the webpage from a cache of at least one of a client electronic device, a proxy server, and the origin server upon determining that a 304 not-modified HTTP status code is returned in response to an if-modified-since HTTP request based upon, at least in part, at least one of the system-last-modified time and the change time of the element.

14. The computer program product of claim 9 , the operations further comprising:

upon detecting a second modification to a second element of the plurality of elements, determining a second change time at which the second element was modified;

upon determining that the second detected modification to the second element has an effect on the generated content of the webpage, updating the system-last-modified time of the webpage to the second change time.

15. The computer program product of claim 10 , the operations further comprising:

upon determining that the webpage has one or more access controlled elements:

storing a copy of the webpage rebuilt at the origin server in the cache of the client electronic device; and

setting a cache-control header of the webpage to private.

16. The computer program product of claim 9 , the operations further comprising:

adding the webpage to a configurable exclusion list upon determining that (i) at least one element on the webpage comes from a third party data source and (ii) the origin server cannot determine a change time for the at least one element; and

preventing external caching of the webpage on the configurable exclusion list.

17. An origin server, comprising:

at least one processor;

at least one memory architecture coupled with the at least one processor and containing a program that, when executed on the at least one processor, performs operations comprising:

generating, at the origin server, content of a webpage using a plurality of elements;

upon detecting a modification to an element of the plurality of elements, determining a change time at which the element was modified;

and

upon determining that the modification to the element has no effect on the generated content of the webpage, disregarding the change time of the latest change with respect to a system-last-modified time of the webpage; and

comparing the system-last-modified time of the webpage against a last modified time of a copy of the webpage.

18. The computing system of claim 17 , the operations further comprising:

upon determining that the system-last-modified time of the webpage is later than the last-modified time of the copy of the webpage stored in a cache of at least one of a client electronic device, a proxy server, and the origin server, rebuilding the webpage at the origin server in response to a request for the webpage.

19. The computing system of claim 17 , the operations further comprising:

upon determining that the system-last-modified time of the webpage is not later than the last-modified time of the copy of the webpage stored in a cache of at least one of a client electronic device, a proxy server, and the origin server, retrieving the copy of the webpage from the cache.

20. The computing system of claim 17 , the operations further comprising:

rebuilding the webpage at the origin server upon determining that an if-modified-since HTTP request is true based upon, at least in part, at least one of the system-last-modified time and the change time of the element.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 30, 2010
From: HAMPTON, MARK CARL; DE MORENTIN, ERIC MARTINEZ; SABIR, KENNETH
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 024161/0727 →
Continuity (1)
Related Publication 20110238924A1 · Sep 29, 2011