Although proxies provide various capabilities that improve the end user experience with
features such as caching, they are examined in this dissertation for the ability to analyse
HTTP request and response information for requests that are directed through them.
2.5.3.1 Performance and Availability Analysis Capabilities of Proxies
When user agents are configured to pass requests through a proxy, the proxy emulates the
target server's interaction with the user agent. It also emulates the user agents interaction
with the target server. Therefore the proxy is both a client and server. The fact that a proxy
provides a means to capture these requests and replies means that it offers the possibility of
analysing various types of information pertaining to a HTTP request. Using proxies to
capture information in this way has been used for a number of years. The free caching proxy
software,
Squid
, offers a vide variety of scripts to analyse and summaries requests to it.
Other research tested throughput to a remote HTTP proxy [18]. In this case, the proxy
measures the time that a proxy thread receives a request, to the time the service of the
request is completed. It also measured the amount of data logged by each request to
throughput could be calculated. Such research focuses on the performance aspects of HTTP,
and does not attempt at measuring the availability of an HTTP delivered service. However it
does offer some interesting insights into the issues involved.
2.5.3.2 Proxy the End User Experience
As was stated in the introduction of this dissertation, the possibility of being able to capture
the performance and availability of a service as perceived by the end user offers a really
valuable way to analyse a Web delivered service. What the author suggests is that a client
side proxy could be used to capture information that can then be used to determine how a
service performs from the end user perspective. Where to position such a proxy that can
intercept service requests is work examining further. The proxy can in theory be placed
anywhere between the HTTP server that delivers a service and the end user's browser.
However, the nearer the proxy is to the end user's browser the more accurate the timing
information will be. So the advantages of placing the proxy on the client side are:
The latency between the browser and the proxy are negligible. This means that the proxy
receives the request from the browser with very little latency and browser receives the