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. 

 

crhomespdy1

 

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.

 pagespeed

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.

 

espbook

 

Comments




or email your comment to: comments@i-programmer.info

 

Banner


Microsoft Introduces Vector Abstractions Library For .NET
21/11/2024

Microsoft has announced a preview release of the Microsoft Extensions VectorData Abstractions library, which can be used to help integrate vector stores into .NET applications and libraries.



Rust 1.82 Improves Apple Support
24/10/2024

Following Rust's six-week release cycle, version 1.82 has been released with higher level support for Apple, and a new Info subcommand for Cargo.


More News

 

Last Updated ( Friday, 17 January 2014 )