Lehe vahemällu salvestamine, CDN-id ja nõusolekubännerid: kuidas vältida vale nõusoleku oleku serveerimist

Kiired lehed, vale nõusolek

Lehe vahemällu salvestamine on üks parimaid asju, mida saate kiiruse ja majutuskulude heaks teha. See on ka üks lihtsamaid viise nõusoleku seadistust märkamatult lõhkuda. Vahemälu teeb täpselt seda, mida talle öeldakse: salvestab vastuse üks kord ja serveerib seda kõigile, kes sama võtmega kokku langevad. Kui see salvestatud vastus sisaldab midagi, mis on spetsiifiline ühe külastaja nõusolekuvalikule või asukohale, saab selle ka järgmine külastaja.

See juhend käsitleb vahemälukihte, mis tavaliselt väljaandja saidi ees asuvad — CDN-i servavahemälud, täislehe vahemälu pluginad, reverse proxy'd, service workerid ja brauser ise — ning seda, kuidas takistada igaühel neist vale nõusolekukogemust serveerimast.

Põhireegel: hoidke nõusolek vahemällu salvestatud HTML-ist väljas

Kõige turvalisem arhitektuur renderdab vahemällu salvestatud HTML-lehe nõusolekuneutraalsena. Leht sisaldab CMP laadijat ja teie tage blokeeritud või ooteolekus, kuid mitte otsust selle konkreetse külastaja kohta. CMP töötab seejärel brauseris, loeb salvestatud valiku, otsustab, kas bännerit näidata, ja vabastab tagid vastavalt.

Probleemid algavad, kui server teeb nõusolekuotsuseid renderdamise ajal, näiteks:

Kui see leht on vahemällu salvestatud, saab esimese külastaja olekust kõigi olek. Külastaja, kes jälgimisest keeldus, võib saada lehe, kus tagid on juba aktiivsed, või uus külastaja ei pruugi bännerit kunagi näha, sest vahemälu koopia pärines kellegi käest, kes oli selle juba sulgenud.

Miks “Vary: Cookie” on harva vastus

Külastajapõhise sisu õpikulahendus on öelda vahemäludele, et nad varieeruksid küpsisepäise järgi. Praktikas kannavad külastajad palju unikaalsete väärtustega küpsiseid, mistõttu kogu küpsisepäise järgi varieerumine viib vahemälu tabamusmäära tavaliselt peaaegu nulli. Mõned CDN-id lasevad vahemälu võtme koostada hoopis ühe küpsise väärtusest, mis on kasutatav, kui teie nõusolekuküpsisel on väike arv võimalikke olekuid, kuid see lisab keerukust ja korrutab siiski vahemälu koopiate arvu. Otsuse viimine brauserisse on lihtsam ja hoiab vahemälu tõhusana.

Geograafia servas

Paljud väljaandjad näitavad piirkonniti erinevaid bännereid: eelneva nõusoleku bänner EL-ile ja Ühendkuningriigile, keeldumisteatis USA osariikidele ja midagi kergemat mujal. Kui server valib variandi külastaja IP-aadressi põhjal ja see leht salvestatakse vahemällu, võib Euroopa lugeja saada vahemällu salvestatud USA lehe või vastupidi.

Kolm mustrit väldivad seda:

  1. Kliendipoolne geolokatsioon. Laske CMP-l piirkond brauseris kindlaks teha, et vahemällu salvestatud HTML jääks kõigile samaks.
  2. Riik vahemälu võtmes. Kui peate otsustama servas, lisage vahemälu võtmesse riigikood, mida teie CDN pakub. Saate ühe vahemällu salvestatud koopia riigi kohta, mis on prognoositav.
  3. Vahemällu salvestamata servaloogika. Käivitage piirkondlik otsus servafunktsioonis, mis süstib muidu vahemällu salvestatud lehele väikese vahemällu salvestamata väärtuse.

Ükskõik, mille valite, dokumenteerige see. Geovead on kõige raskemini reprodutseeritavate seas, sest need ilmnevad ainult ühes kohas olevatele külastajatele, kes saavad lehe, mille on vahemällu salvestanud keegi teises kohas.

CMP skripti enda vahemällu salvestamine

CMP laadija pikaajaline vahemällu salvestamine on jõudluse jaoks hea, kuid sellel on hind, kui seadistus muutub. Kui uuendate müüjaid, eesmärke või bänneri teksti ja skript või seadistusfail on aastaks vahemällu salvestatud, näevad mõned külastajad edasi vana versiooni. Kontrollige, kuidas teie CMP oma faile versioonib: muutuv failinimi või versiooniparameeter lubab vahemälu agressiivselt kasutada, rakendades muudatused siiski kohe. Veenduge ka, et teie enda CDN ei eemalda kolmanda osapoole skriptide URL-idelt päringustringe, kui CMP neile tugineb.

Service workerid ja võrguühenduseta vahemälud

Progressiivse veebirakenduse kihiga saidid salvestavad HTML-i sageli service workeris vahemällu. Kehtib sama reegel: ärge kunagi salvestage lehte, mis kajastab konkreetset nõusolekuotsust. Jätke nõusolekuga seotud lõpp-punktid ja eelistuste keskuse lehed service workeri vahemälust välja ning veenduge, et värske CMP seadistuse saab alati kätte.

Tagasi/edasi vahemälu

Kaasaegsed brauserid hoiavad hiljuti külastatud lehti mälus, et tagasi-nupp need hetkega taastaks. Kui külastaja avab ühel lehel eelistuste keskuse, võtab nõusoleku tagasi ja vajutab siis tagasi, võivad taastatud lehel tagid endiselt töötada eelmisest ajast. Kuulake sündmust pageshow ja kontrollige selle omadust persisted: kui leht taastatakse sellest vahemälust, lugege salvestatud nõusoleku olek uuesti ja peatage või käivitage tagid vastavalt.

Testimisrutiin

Peamised järeldused

← Blogi Loe kõike →