Chrome Mobile Uses Proxy For Data Compression
Written by Alex Armstrong   
Friday, 17 January 2014

Amazon's Silk browser and Opera have both made use of proxy servers to speed up web page delivery. Now Google has adopted the same idea and added it to Chrome on Android and iOS with estimated savings of 50%.

The new proxy service is opt in and the user has to go to the settings menu and select "Reduce Data Usage". If they do this then all of the standard HTTP traffic will be routed through Google servers. HTTPS traffic is routed directly - presumably because there isn't much that can be done to reduce the size of encrypted pages. 

The range of optimizations applied is quite impressive and must put quite a load on the server. For example, all of the images in a web page are transcoded to optimal WebP format. Of course, WebP is Google's proposed universal format for web bitmaps aimed at replacing png and gif. The proxy also compresses and minifies HTML, JavaScript and CSS. Finally the page is gzipped and sent, not by HTTP, but using Google's SPDY protocol which is faster than HTTP 1 and currently the basis for the HTTP 2 standard. The proxy server also does DNS lookups on behalf of the client. 

An additional advantage is that the page contents are checked for malware using Chrome's Safe Browsing technology. 




So why is Google doing all of this work simply to save you 50% of your online data allocation?

It is a very good question and, as you might expect, users are worried that this is another way Google is gathering data on what you do. In this case, however, it is difficult to see exactly what Google has to gain. It doesn't proxy HTTPS pages and it doesn't proxy pages visited in incognito mode. Clearly it allows Google to know what web pages you are viewing and what their content is, but Google already knows most of this.

Google does have something to say about your privacy if you use the service:

"For connections with HTTP origins, request URLs are logged, but request headers and cookies are stripped from the logs. Additionally, the content of proxied pages will be cached according to each page’s cache policy as specified by its headers (Expires, Cache-Control, etc.) but not logged. These logs are not associated with your Google Account, and the entire log entry will be removed within 6 months. Google will use both the request and response data to improve the service; for example, more effective optimizations can be uncovered by analyzing timing data for pages loaded through the proxy service.

Your IP address is forwarded on to the origin HTTP server via an X-Forwarded-For header, in accordance with the HTTP standard. The data compression service is a transparent proxy, and not an anonymization service."

So if Google sticks to its promise not to associate your browsing log with your Google account, if any, then it really is difficult to see what it is getting from the deal. 

More interestingly, Google is basically making up for our inadequacies. It is speeding up web pages using techniques that websites could use independently. So Google is making a present of 50% less data use to the end user and doing a job the website owner should be doing anyway.

Very puzzling.


More Information

More web, more savings with Chrome for Mobile

Data Compression in Chrome Beta for Android

Data Compression Security

Related Articles

HTTP/2.0 Draft       

A Faster Web - mod_pagespeed Comes Out Of Beta       

Page Speed for Chrome

Faster websites for free - thanks Google! 


To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, FacebookGoogle+ or Linkedin,  or sign up for our weekly newsletter.


raspberry pi books



or email your comment to:



Google Adds Multiple Database Support To Firestore

Google has announced the general availability of Firestore Multiple Databases, which can be used to manage multiple Firestore databases within a single Google Cloud project.

SnapCode: A Java IDE for the Web

Thanks to CheerpJ and WebAssembly you can now run a Java IDE inside your browser and local first.This is SnapCode, and while lightweight and in-browser, is to be not underestimated.

More News


Last Updated ( Friday, 17 January 2014 )