Data Compression Proxy

Faster, safer, and cheaper mobile web browsing with data compression

The latest Chrome browsers for Android and iOS can significantly reduce cellular data usage by using proxy servers hosted at Google to optimize website content. This feature has been shown to reduce the size of web pages by 50%. To enable it, visit "Settings > Bandwidth Management > Reduce data usage" and toggle the option – easy as that.

Features and implementation

The core optimizations that allow us to reduce overall data usage are performed by Google servers. When the Data Compression Proxy feature is enabled, Chrome Mobile opens a connection between your phone and one of the optimization servers running in Google's datacenters and relays all non-encrypted HTTP requests over this connection.

How data compression proxy works

The proxy server receives the request initiated on the mobile device, initiates a request for the required resource on your behalf, and then optimizes each response before delivering it back to the client. The content optimization is performed by our open-source PageSpeed libraries, which are specifically tuned for the Chrome Mobile browser. The rendering of the page, and all JavaScript execution, is performed by the client’s browser.

  • Secure connections (HTTPS) are routed directly from your mobile device to the destination, bypassing the compression proxy.
  • The use of the compression proxy does not require a Google account.
  • Navigation in incognito tabs bypasses the compression proxy.

Curious to see the bandwidth savings provided by the proxy? Visit your browser settings to see a graph of the original data size vs. the optimized version that your browser received - for an example, see the Android screenshot below. The bandwidth savings add up quickly!

Bandwidth usage

Let’s take a closer look at some of the specific optimizations enabled by the data compression proxy.

SPDY for speed

Where possible the connection from the mobile device to the proxy runs over SPDY, an optimized protocol for the Web that is supported by Chrome, Firefox and Opera, and is also the basis for the forthcoming HTTP/2.0 standard being developed in the IETF. If a SPDY connection cannot be made, a regular HTTP/1.1 proxy connection is established.

SPDY to http-https

By using SPDY, the proxy is able to multiplex multiple request and response streams in parallel over a single TCP connection, which has numerous performance benefits: it amortizes TCP handshake overhead for multiple requests, enables higher throughput by removing the TCP slow-start phase incurred by each new connection, and enables intelligent request and response prioritization between the streams. In fact, our studies show that just the use of SPDY alone can reduce page load times by 23% on cellular networks, and this is before we have even talked about optimizing any of the content!

Further, there are many additional benefits to using the compression proxy:

  • DNS late-binding: DNS lookups are performed by the proxy, instead of on the phone, which means that the resolutions can be done much, much quicker.
  • Less network activity and faster load times also mean that the mobile radio has to be active for shorter periods of time!

Content optimization

Unfortunately, many web-sites are not optimized for the mobile web, which results in inefficient content delivery and slow rendering times. However, our experience with PageSpeed shows that many content optimizations can, in fact, be automated, which is precisely what the data compression proxy does on your behalf!

Transcoding images: Over 60% of the transferred bytes, for an average page, are images. Hence, the proxy takes great care to optimize and transcode all images to the WebP format, which requires fewer bytes than other popular formats, such as JPEG and PNG. The proxy supports the new WebP lossless format for certain images, and also optimizes the perceptual quality of each image based on device screen resolution and pixel density of your device. By combining all these features the resulting images are up to 80% smaller!

Content-aware compression: The proxy performs intelligent compression and minification of HTML, JavaScript and CSS resources, which removes unnecessary whitespace, comments, and other metadata which is not essential to the rendering of the page. These optimizations, combined with mandatory gzip compression for all resources, can yield substantial bandwidth savings for the client.

Safer, more secure browsing: The proxy implements Safe Browsing for Chrome Mobile, by informing the browser when you attempt to visit a known malware or phishing site. This causes a warning page to be displayed, which you can click through if you wish to visit the site. The list of harmful sites is continuously updated on the proxy.

Building a faster mobile web

This is just the beginning of what a powerful proxy service can provide to make the mobile web experience more efficient and enjoyable, regardless of whether you are on a latest 4G connection, or using an older generation mobile network. We are continuously improving the service and experimenting with new optimizations — stay tuned for more.

Frequently asked questions

  • Is my secure traffic optimized by the compression proxy?
    No, data compression proxy operates on non-encrypted traffic: HTTPS requests are sent directly from the mobile device to the destination server.
  • As a site owner, how do I perform IP geo-targeting?
    The IP address of the mobile device is forwarded to the destination server via the X-Forwarded-For header. Site owners should check for this header to correctly determine the location of the user based on client's IP address.
  • As a site owner, how do I opt-out from content optimization?
    Data compression proxy respects the standard Cache-Control: no-transform directive. Site owners can mark individual resources with this directive and the proxy will pass them through directly to the mobile browser.

About the authors

Matt Welsh is the head of the Mobile Web Performance team at Google’s Seattle office. Follow Matt on Google+.
Ilya Grigorik is a Developer Advocate on the Chrome team at Google in Mountain View. Follow Ilya on Google+.