Web acceleration software speeds up your web browsing experience. Web accelerators reduce latency and download times using various web performance techniques including caching and HTTP compression. We explore Google’s Web Accelerator to see how it works and the different options available to users and webmasters.
A Compressed Web Accelerator Introduction
Web surfers that want to keep their existing connection have two options available to speed up their browsing experience. Dial-up users can sign up to a service that uses HTTP compression and proxy servers to compress and in some cases optimize the web pages requested. Broadband users can use “look ahead” accelerators like Google’s Web Accelerator.
Google Web Accelerator
Google Labs has unveiled the Google Web Accelerator that speeds up your browsing experience by acting as a look ahead accelerator. A look ahead accelerator caches web pages and data for later reuse from Google’s servers. When you access a page that has been cached, it loads from the local cache on your hard drive, not the Internet. The result is a snappier feel, that improves the more you use it.
When we tried Google’s Web Accelerator on a dial-up connection it actually slowed down our surfing, and Google doesn’t recommend their accelerator for dial-up users. With a broadband connection Google’s Web Accelerator improved the overall response time, even crowing about how much time it saved (see Figure 1).
How Google’s Web Accelerator Works
Google’s accelerator support page gives an overview of how the software works:
- Sending your page requests through Google machines dedicated to handling Google Web Accelerator traffic.
- Storing copies of frequently looked at pages to make them quickly accessible.
- Downloading only the updates if a web page has changed slightly since you last viewed it.
- Prefetching certain pages onto your computer in advance.
- Managing your Internet connection to reduce delays.
- Compressing data before sending it to your computer.
Here is what is actually happening:
- Proxy server redirects your web page requests to Google’s servers (except secure web pages [HTTPS] and URLs with query parameters “?”)
- Google logs your requests on its servers
- Caches copies of previously accessed web pages and cookies locally for fast retrieval, checks last update header for freshness
- Item 3 above seems to imply that Google sends only new portions of an updated web page, i.e., some form of delta compression (in HTTP 1.1 spec) but we did not detect this
- Prefetches pages in the background based on your surfing habits
- GZIP compresses web page content before sending to your computer to minimize bandwidth required
After you download Google’s Web Accelerator you first install a proxy server on your computer. This proxy server redirects requests for web pages, except for secure web pages (HTTPS), to Google, which logs these requests. Some web pages may embed personal information in these page requests.
Google receives and temporarily caches cookie data that your computer sends with webpage requests in order to improve performance.
In order to speed up delivery of content, Google Web Accelerator may prefetch webpage content that you did not request, and store it in your Google Web Accelerator cache. Google decides what pages to cache based on “aggregate usage statistics as well as the userâ€™s mouse movements.” You can see the pages that have been cached looking for the double-underline (see Figure 2).
When you request a cached page, it is loaded from your local cache saving you time. Most people go to the same sites every day, so Google makes sure your local cache is up to date with the latest information by downloading web pages in the background. They keep all of this surfing data stored on their servers, and Google will surely use this behavioral data to improve their AdWords advertising and search results. That is the price you pay for using Google’s free service.
Google also compresses pages with Gzip to reduce the amount of data zipping back and forth (mainly back) to and from your computer. Google’s client-side cache is effective for DSL and broadband users but dial-up users should avoid it (see Figure 3).
Google gives webmasters some control over how their web site is accessed by the web accelerator.
- Filter logs for the “x-moz: prefetch” HTTP header (to avoid false user page views)
- Disallow “x-moz: prefetch” HTTP header requests (to not allow prefetching) returning a 403 HTTP response code
- Prefetching hints: Use <link rel=”prefetch” href=”http://url/to/get/”>
- Properly tuning the cache settings for your server (see Use Server Cache Control to Improve Performance for more details).
Web Caching and Compression Expert
We asked a web compression expert about Google’s Web Accelerator.
“The Google Labs Accelerator is a worldwide distributed caching network hosted in the Google datacenters around the globe. Much like any caching proxy server install, it holds copies of Web objects for a time period specified by the Cache-Control or Expires server response headers.
In its design, it’s similar to NLANR’s IRCache project (http://www.ircache.net), where networked proxies share information about the content they hold and work together to serve content in the shortest amount of time.
The software that Google installs is a simple proxy redirector that forwards the requests from any web browser on the system through the Google network of proxies rather than through the open Internet. In this way, it is similar to some of the SPAM/Virus/Spyware software that exists to filter mail before it reaches the local mail client.
The kicker with this software, as you may already know, is that it gives Google very fine grain control over the tracking and monitoring of content that goes through the system. This may sound evil, but all that they plan to use it for is to ensure that the AdWords ads you receive are precisely tuned to the sites you go to, and what they perceive your web browsing habits are.
The secondary result is that it also allows them to fine tune their search results by correlating the data from the Accelerator, re: document popularity, with the data that they already collect from their search system.
– Stephen Pierzchala, Senior Analyst at Gomez.com
Google Learns as You Surf
Google estimates where you are probably going to click and tries to make sure you have the pages you need already stored in your local cache before you go there. The more you use it, the more it knows about your surfing habits, and the more accurately it can preload your cache to increase the number of “hits” you get. You can also click on links that have been double-underlined, knowing that Google has already cached that page and it will load quickly.
- Compressing the Web
- Chapter summary from Speed Up Your Site on setting up your server for HTTP compression.
- Google Web Accelerator
- Home page of Google’s new gizmo includes webmaster information for configuring your server.
- Google Labs – Web Accelerator Discussion Group
- Discusses issues with Google’s Accelerator on Google Groups.
- HTTP Compression
- Link Prefetching FAQ
- Some technical details on setting up prefetching in web pages. Mozilla 1.2 and higher supports prefetching, and Mozilla 1.3 includes a preference in the UI to disable prefetching.
- WebPeformance Web Compression Library
- Articles and resources on web compression and caching by Stephen Pierzchala.
- Use Server Cache Control to Improve Performance
- A tutorial on configuring your Apache server for more efficient caching to save bandwidth and improve web site performance. A web cache reduces latency and improves web site response times.