Miksi VPN-poistumisreitti ja selaimen kieli eivät täsmää
Accept-Language pyytää vastauksen kieltä; VPN muuttaa lähdeosoitetta. Kun sivusto näyttää lokalisoidulta, kolme syötettä ratkaisee, mikä voitti.
Avaa kehittäjätyökalut, lataa sivu ja lue pyynnön otsakkeet ennen kuin päättelet VPN:stä mitään. Löydät yleensä Accept-Language-rivin, joka pyytää tiettyä kielijoukkoa, ja se rivi tulee selaimen asetuksista, ei poistumisosoitteesta. Tokion poistumisreitillä oleva ranskankielinen lähettää yhä ranskaa, ja ranskaksi vastaava sivusto vastaa otsakkeelle. Tunneli ei vuoda vain siksi, että sivu saapui tutulla kielellä.
Lue otsake ensin
Avaa työpöytäselaimessa Verkko-paneeli, lataa uudelleen, napsauta asiakirjapyyntöä ja katso pyyntöotsakkeiden alta. Terminaalista näet saman ilman selainta, ja voit ohittaa arvon testataksesi sivuston käyttäytymistä:
curl -sS -D /tmp/h1 -o /tmp/b1 https://example.com
curl -sS -D /tmp/h2 -o /tmp/b2 -H 'Accept-Language: fr,en;q=0.6' https://example.com
grep -o 'lang="[^"]*"' /tmp/b1 /tmp/b2
diff /tmp/b1 /tmp/b2 | head -40
Nyt runko on levyllä, joten vertailu koskee sivua eikä otsaketta, jota ei ehkä koskaan lähetetä. Katso html-tagin lang-attribuuttia ja näkyvää tekstiä, koska Content-Language on valinnainen ja monet palvelimet jättävät sen pois. Siksi sivusto, joka vaihtaa samalla URLilla koko sivun englannista ranskaksi, voi näyttää muuttumattomalta pelkkiä otsakkeita vertailtaessa. Jos asiakirjan kieli seuraa otsaketta poistumisreitin pysyessä paikallaan, otsake oli ratkaiseva syöte eikä VPN liity havaintoon.
Käytä tähän testiin toista selainprofiilia äläkä sivuston omaa kielivalitsinta. Valitsin kirjoittaa yleensä evästeen, joka on eri syöte, ja lopulta mittaat evästettä otsakkeen sijaan.
Mitä q-arvot tarkoittavat ja mitä eivät
RFC 9110:n luku 12.5.4 määrittelee Accept-Language-otsakkeen luetteloksi vastaukselle ensisijaisista luonnollisista kielistä. Jokainen merkintä voi kantaa painon 0–1, ilman painoa oleva väli on paino 1, ja paino 0 merkitsee kielen ei-hyväksyttäväksi. Se on mieltymysjärjestys eikä mitään muuta.
Arvo ei ole sijaintiraportti, ei luottamuspisteet eikä identiteetti. Palvelin voi vapaasti jättää sen huomiotta, tarjoilla ainoan käännöksensä tai antaa maahan perustuvan uudelleenohjauksen voittaa. Sisältöneuvottelu on palvelimen valinta, ja otsake on syöte siihen valintaan, ei käsky.
Juuri tämän ihmiset jättävät huomaamatta pitäessään lokalisoitua sivua sijaintitestinä. Otsake kertoo, mitä kieliä henkilö mieluummin lukee, ja mieltymys voi matkustaa minne tahansa.
Kolme syötettä ratkaisee, minkä kielen todella saat
Eristä ne yksi kerrallaan, koska ulkopuolelta et näe, mikä voitti:
- Otsake. Testaa toisella profiililla, joka on asetettu eri kieliluetteloon, ja seuraa, muuttuuko sivu, kun kaikki muu pysyy samana.
- Tallennettu valinta. Testaa yksityisessä ikkunassa ilman evästeitä tai tyhjennä sivuston tallennustila. Tilin asetukset ja localStorage-merkinnät voivat kiinnittää kielen kuukausiksi.
- URL tai uudelleenohjaus. Testaa pyytämällä nimenomainen kielipolku, esimerkiksi
/fr/, ja seuraamalla tilakoodeja lähdeosoitteeseen perustuvassa uudelleenohjauksessa.
Tee kolme testiä tässä järjestyksessä ja kirjaa, mikä muutti tulosta. Yksi sivun lataus, joka vaihtaa kielen VPN:n käynnistämisen jälkeen, on heikko todiste, koska sekä uudelleenohjaus että välimuistiin tallennettu eväste voivat synnyttää sen vaikutelman.
Mitä VPN muuttaa ja mitä ei
Tunneli muuttaa lähdeosoitetta, jonka palvelin näkee, ja sen mukana kaiken, mitä palvelin johtaa IP-geolokaatiosta. Se ei kirjoita uudelleen selaimen kielimieltymyksiä, ei poista tallennettua asetusta eikä muuta kirjoittamaasi URLia. Ne syötteet pysyvät täsmälleen siinä, missä olivat, joten sivu voi säilyttää vanhan kielensä, kun poistumisreitti siirtyy.
Geolokaatio lisää oman kohinansa. Osoitetietokannat ovat ristiriidassa keskenään, ja yhteen maahan rekisteröity poistumisreitti voidaan kartoittaa toiseen, mikä saa maahan perustuvan uudelleenohjauksen näyttämään väärältä syistä, joilla ei ole mitään tekemistä selaimesi kanssa.
Nopea tarkistus erottaa ne: pyydä sivu uudelleen, kirjaa esittämäsi osoite ja vertaa sitten vastauksen kieltä otsakeluetteloosi. Jos kieli vastaa luetteloasi eikä poistumismaan, otsake oli ratkaiseva syöte eikä tunnelissa ole mitään korjattavaa.
Mitä lokalisoitu sivu todistaa ja mitä ei
Tässä on todellinen yksityisyyskohta, ja se on pienempi kuin se, jonka ihmiset yleensä esittävät. Täydellinen kielimieltymysten luettelo on sormenjälkisyöte ja voi paljastaa jotain siitä, kuka olet tai mitä luet. Se on aito mieltymyksen paljastus, eikä se ole sama kuin todiste siitä, että liikenne pääsi tunnelista ulos.
Lokalisoitu sivu ei ole vuotoindikaattori. Jos todella haluat testata vuotoa, tarkista poistumisosoite, jonka sivusto näkee, nimikyselyihin käytettävä resolver-polut ja ehdokkaat, jotka WebRTC-pino paljastaa. Ne testit vastaavat kysymykseen, johon sivun kieli ei pysty.
Kun seuraavan kerran sivusto näyttää tietävän maasi, avaa ensin pyyntöotsakkeet. Jos vastauksen kieli vastaa selaimesi luetteloa, mitään ei vuotanut, ja kerros, jota sinun pitäisi katsoa, on se, joka on edessäsi.