Web accelerator

A web accelerator is a proxy server that reduces website access time. They can be a self-contained hardware appliance or installable software.

Web accelerators may be installed on the client computer or mobile device, on ISP servers, on the server computer/network, or a combination. Accelerating delivery through compression requires some type of host-based server to collect, compress and then deliver content to a client computer.

Techniques
Web accelerators may use several techniques to achieve this reduction in access time:

They may:
 * cache recently or frequently accessed documents so they may be sent to the client with less latency or at a faster transfer rate than the remote server could.
 * freshen objects in the cache ensuring that frequently accessed content is readily available for display.
 * preemptively resolve hostnames present in a document (HTML or JavaScript) in order to reduce latency.
 * prefetch documents that are likely to be accessed in the near future.
 * compress documents to a smaller size, for example by reducing the quality of images or by sending only what's changed since the document was last requested.
 * optimize the code from certain documents (such as HTML or JavaScript).
 * filter out ads and other undesirable objects so they are not sent to the client at all.
 * maintain persistent TCP connections between the client and the proxy server.
 * improve the performance via protocol level accelerations, such as TCP acceleration.

These techniques align with best practices which are typically recommended to improve the performance of web applications.

Web client accelerator
Introduced in 2001-2002, these applications generally serve to improve dial-up, broadband and other connections from which users may not be getting the best speed. Many Dialup ISPs offer web accelerators as a part of their services. The pre-compression operates much more efficiently than the on-the-fly compression of V.44 modems. Typically, website text is compacted to 5%, thus increasing effective dialup throughput to approximately 1000 kbit/s, and JPEG/GIF/PNG images are lossy-compressed to 15–20%, increasing effective throughput to 300 kbit/s.

The drawback of this approach is a loss in quality, where the graphics acquire compression artifacts taking on a blurry or colorless appearance. However, the transfer speed is dramatically improved. If desired, the user may choose to view uncompressed images instead, but at a much slower load rate.

Web accelerators are typically designed for web browsing and, sometimes, for e-mailing and can not improve speeds of streaming, gaming, P2P downloads or many other Internet applications. However, there is substantial work being done on client-side Web Accelerators for Application Delivery Networks by several companies including Cisco Systems and F5 Networks as the demand for SaaS and PaaS look set to grow among small and medium enterprises.

List

 * America Online
 * Netscape ISP
 * Google Web Accelerator (discontinued)
 * Heigh Speed (discontinued)
 * NetJet (discontinued)
 * OnSpeed (discontinued)
 * Polipo (not maintained)
 * Squid
 * WinGate
 * Ziproxy

Web server accelerator
Other web accelerators are targeted at the web site or web application owners. This type of web accelerator is installed in front of web servers and application servers and use a variety of the above techniques to improve performance to all users accessing the accelerated web sites or web applications. Web server accelerators are sometimes referred to as reverse proxies or Application Delivery Controllers. This type of server side accelerator has the added benefit of off-loading transactions and connection managements from the web or applications servers and hence, reducing its CPU utilization and increasing web server or application scalability to handle more users with less bandwidth.

List

 * aiScaler
 * Apache Traffic Server
 * Apache HTTP Server
 * CACHEbox
 * Caddy
 * lighttpd
 * nginx
 * Polipo (not maintained)
 * Squid
 * Varnish
 * Ziproxy

Client–server
There may be two sections to the proxy as well - a server portion sits in front of the web server and captures the input and output from the server and a client portion sits in front of the end-user's web browser to capture the input and output from the browser. An example would be Opera Turbo.