Browse Prior Art Database

An accelerating Web proxy system

IP.com Disclosure Number: IPCOM000022691D
Original Publication Date: 2004-Mar-25
Included in the Prior Art Database: 2004-Mar-25
Document File: 3 page(s) / 53K

Publishing Venue

IBM

Abstract

Disclosed is a novel accelerating web proxy system that is designed to decrease average load times for most web pages. The invention alters web pages requested by the user so as to reduce the amount of time spent when the browser requests and receives resources (such as images, javascript files, stylesheets, etc.) that are embedded in the pages.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 53% of the total text.

Page 1 of 3

An accelerating Web proxy system

In order to cope with ever-increasing functionality and usability requiremens, web pages are getting more and more complex. Gone are the times when they referenced one or two images, no JavaScript files, no stylesheets, etc. Today, an average web page references several dozen of such resources. As a result, it is larger in size, loads slower in the browser and requires more network bandwidth for transmission. Here is, perhaps, the most common scenario in detail:

Referenced resources (images, stylesheets, Javascript files, etc.) are not assigned an explicit expiration time on the web server. This allows the browsers to cache them for the duration of each session only. Once the browser is restarted, however, it will perform a conditional get for each resource. Along with the conditional request is supplied a timestamp of the resource in browser cache. If the resource on the server hasn't changed, the server can simply send back an appropriate HTTP code (302, in this case), instead of sending the entire resource again.

In a typical scenario today, the number of resources per page is high, size of each resource in comparison to the bandwidth, small, and network latency, considerable. In other words, conditional gets do not significantly decrease page loading times. Usually, each of the conditional gets take over 100 ms, driving total page load times into the seconds range.

One way to improve the situation would be to always specify an expiration time (for instance, 1 year) for each web resource. This could be used effectively only to some extent, however, since it increases the complexity of managing these resources. Indeed, there is no way to notify the browser that a certain resource has changed before its announced expiration time: it will always be served out of browser cache.

The disclosed invention circumvents the issue by examining each web page as it passes through the proxy, evaluating each resource reference , and conditionally altering it so as to eliminate conditional gets.

The proxy modifies the URL of each resource so as to construct a unique combination of its original URL and the last modified timstamp as reported by the web server. This new URL replaces the original resource URL present in the web page. When the browser encounters encounters the combined URL for the first time, it sends a request to the proxy server. The proxy server recognizes the URL as a combined one, serves the resource, and announces that it never expires (or expires in a comparatively long period of time). This prevents the browser from conditionally requesting the resource again.

The proxy must tracks the last modified timestamp for each of the resources that it handles. This could be accomplished by periodically polling the source web server, for inst...