explainers-by-googlers / reduce-accept-language

This repository hosts explainer for reducing passive fingerprinting in the Accept-Language header.
Creative Commons Attribution 4.0 International
16 stars 0 forks source link

Vary = cache miss | Proposal = /.well-known/accept-language #4

Open dtruffaut opened 2 years ago

dtruffaut commented 2 years ago

Problem

Given

This solution could lead to multiply each cache entry (example.com has many urls) by an order of thousand (all accept-language variations), leading to cache exclusions (LRU), thus tons of cache misses on edge servers. This would hurt performance a lot.

References on Vary and locales:

Solution

Expose accepted languages on a well-known url

/.well-known/accept-language es fr en en-US en-GB pt pt-BR zh zh-Hant

1) When user goes to example.com, the static page /.well-known/accept-language is queryied in parallel, and cached accordingly. 2) While the page is loading, the Browser checks /.well-known/accept-language fast response and determines if there is a better language for the user among those proposed by example.com 3) If so, Browser stops navigation and send Accept-Language: es 4) Browser receives es content and displays it. 5) On further navigations,

References on well-known urls:

Other possibilities: