Implement client side tamper detection logic.
The Chrome data reduction feature relies on HTTP headers to work correctly and efficiently with the data reduction proxy. This include both standard HTTP headers (like Via) and custom headers (like Chrome-Proxy). Tampering on these headers could lead to miserable user experience, taking 10s to load some pages, for example. In the past, we have seen such headers being stripped by middle box proxies (for example, the WWW-Authenticate header was stripped by some carrier). It has been known that mobile carriers are doing HTTP traffic optimizations. We also want to know whether mobile carriers are trying to "optimize" the already optimized data reduction proxy response body, which might lead to higher cost to users. We propose a mechanism in Chromium to enable us to learn the scale and the types of such tampers. In short, the mechanism will check whether a predefined set of HTTP response headers and the response body have been changed in a way that could affect the data reduction proxy. It will detect such changes by using pre-calculated header (and probably content) hashes sent by the server. Chromium will report through UMA the count of each tamper types has happened. This will only be enabled for a fraction of the data reduction proxy users. BUG=381907 Review URL: https://codereview.chromium.org/338483002 Cr-Commit-Position: refs/heads/master@{#288492} git-svn-id: svn://svn.chromium.org/chrome/trunk/src@288492 0039d316-1c4b-4281-b951-d872f2087c98
Showing
This diff is collapsed.
This diff is collapsed.
Please register or sign in to comment