Email Body

Contact emails

victor...@chromium.org, miketa...@chromium.org

Explainer

https://github.com/explainers-by-googlers/reduce-accept-language

TAG reviewTo be filed.
Summary

In order to reduce the amount of passively available entropy in HTTP
requests, we want to reduce the amount of information the Accept-Language
header exposes in HTTP requests and JS interface navigator.languages.
Instead of sending every user's language preferences via Accept-Language,
we only send the user’s most preferred language after language negotiation
in the Accept-Language header. For the HTTP Accept-Language header, we will
potentially expand a base language based on the language-region pair (e.g.,
if the preferred language is “en-US” we will expand to “en-US, en;q=0.9”).
The JS getter navigator.languages returns the same value as
navigator.language.

We would like to run a Finch 1% experiment from M128 to M131 inclusive.

Blink component

Privacy>Fingerprinting
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Privacy%3EFingerprinting>

Risks

Interoperability and Compatibility

The compatibility risk is relatively low for most users since we're
planning to reduce the amount of information in the Accept-Language header
and navigator.languages, rather than remove the header or change value
format in the header. Most existing Accept-Language detection code should
continue to work. This experiment should help us validate this assumption
and identify corner cases.

As for interoperability, for multilingual sites to rely on the
Accept-Language, developers would need to depend on a user's full
Accept-Language list for some browsers and a primary user's Accept-Language
for others. Another signal is that the Chrome incognito model already
reduced the Accept-Language header and JS interface navigator.languages to
one language, and Safari ships this behavior for many users today.

Gecko: Pending (https://github.com/mozilla/standards-positions/issues/1014)

WebKit: Shipped (https://github.com/WebKit/standards-positions/issues/338)
Safari already reduced the Accept-Language to a single language in most
cases.

Web developers: Some web developers are concerned about the client-side
language negotiation implications (
https://github.com/Tanych/accept-language/issues/10).

Experiment Goals

The goal of this experiment is to ensure web compatibility with our
proposed changes. Developers can also test how reducing the Accept-Language
request header and the JS getter navigator.languages will affect their
systems via the  chrome://flags/#reduce-accept-language flag, especially to
understand the impact on client side language negotiation via
navigator.languages. We will be relying heavily on user and developer
feedback to identify where breakage occurs,  or where use cases are not
accounted for, especially for multilingual sites depending on the
Accept-Language header, and navigator.languages.

Experiment Risks

There are some risks, as many multilingual sites have come to rely on the
value in Accept-Language header and JS interfaces navigator.languages to
send the right representation pages to the user.  Site breakage can take
many forms, both obvious and non-obvious - which is the point of running
this experiment. If we are confident the design is largely web-compatible,
we will request a Deprecation Trial for sites to be able to have time to
migrate or modify how their sites work.

Debuggability

Both of these settings and the resulting network requests are visible in
DevTools.

Will this feature be supported on all six Blink platforms (Windows, Mac,
Linux, Chrome OS, Android, and Android WebView)?

No (All but WebView)

Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md>
?

No (We fully test in browser_tests, WPT has limits to cover all the test
cases in the Accept-Language header).

Flag name on chrome://flags

#reduce-accept-language

Finch Flag name

kReduceAcceptLanguage
Tracking bug

https://issues.chromium.org/issues/40218547
Launch bug

https://launch.corp.google.com/launch/4317282
Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5188040623390720
<https://chromestatus.com/feature/5188040623390720#details>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAJh4P7HuVnM9iE1%2BMF2pY%3DP%3DVNHmtP%2B1oZdUQ2Hm2bMjrW04Dw%40mail.gmail.com.

Reply via email to