### The Tao of Mac

Here are a few notes on Google's Web Accelerator Beta, which I installed and tested with Firefox and the LiveHTTPHeaders extension.

It runs as a local HTTP 1.1-compliant proxy, and the browser extension causes Firefox to add the following headers to its requests to the proxy:

X-prefetch-url:
X-prefetch-referer:

X-navid: (looks like a session key)
X-from-url:
X-to-url:
X-is-toplevel: (numeric value)
X-exclude-url:
X-is-complete: 1 (complete in cache?)

I also see Proxy-Connection: keep-alive, but I usually have pipelining enabled.

Most proxy replies are earmarked Transfer-encoding: chunked (I can't see the data stream, but I assume it's compressed), and it sets keep-alive and Expires: options, as well as a Via: header.

I've seen at least three types of Via: header on the browser side:

Via: HTTP/1.1 GWA
Via: HTTP/1.1 GWA (remote cache hit)
Via: HTTP/1.1 FastNet (preload cache hit)

Server-side, you'll get an X-moz: prefetch header in requests for items that the webmaster designated, and an X-Forwarded-For: header and a hit from a Google IP address for "normal" navigation (unless I missed something). More on prefetch here.

There are significant problems with pre-fetching, so you might want to make sure you return a 403 access denied code for prefetch requests if you design public web applications.

It should theoretically be possible to use a Windows machine as a Google-accelerated proxy for a small LAN, although the browser integration (or internal coding) may be designed to prevent that.