Waarom een bewaarde afbeelding niet telt
Over de inhoud en de controle ervan
In dit artikel
Een veelvoorkomende bron van verwarring rond websitestatistiek is het plaatselijk bewaren van bestanden, meestal de browsercache genoemd. Browsers zijn op maximale doelmatigheid en snelheid gebouwd.
Wordt een pagina voor het eerst bezocht, dan downloadt de browser alle benodigde tekst, opmaak en plaatjes. Om bij volgende bezoeken geen tijd en netwerkcapaciteit te verspillen, bewaart hij kopieën van die vaste bestanden op de plaatselijke schijf.
Wordt precies dezelfde pagina kort daarna opnieuw geopend, dan haalt de browser de plaatjes rechtstreeks uit die plaatselijke voorraad in plaats van de verre server om een nieuwe kopie te vragen. Dat bekort de laadtijd drastisch, maar het raakt rechtstreeks de werking van externe meetgereedschappen.
Het bezoek dat de server nooit ziet
Het mechanisme van een telling op basis van een afbeelding steunt volledig op een aanvraag die de server bereikt. Besluit de browser dat de plaatselijk bewaarde kopie van het plaatje nog volkomen geldig is, dan stuurt hij helemaal geen bericht over het internet.
Vanuit het gezichtspunt van de server heeft het tweede bezoek eenvoudigweg nooit plaatsgevonden. De interne getallen in de database worden dus niet bijgewerkt, en het plaatje op het scherm blijft de vorige waarde tonen.
Dat gedrag leidt vaak tot het misverstand dat het gereedschap kapot is, vooral tijdens het uitproberen, wanneer een pagina snel achter elkaar meermaals herladen wordt. Het uitblijven van een nieuw getal is geen mislukking van het systeem, maar een teken dat de browser precies doet waarvoor hij bedoeld is: gegevens besparen.
De instructie die met het bestand meereist
Om dat gedrag te sturen, kunnen servers bepaalde instructies aan de bestanden hangen die ze afleveren. Die instructies, cachekoppen genoemd, vertellen de ontvangende browser precies hoe lang een bestand bewaard mag blijven en wanneer er een verse kopie gevraagd moet worden. Bij een foto in een galerie kan de instructie meekomen dat hij een heel jaar bewaard mag blijven.
Een plaatje dat een voortdurend veranderend getal toont, vraagt echter om heel andere regels. De server die het plaatje maakt, moet de browser uitdrukkelijk opdragen de afbeelding nooit te bewaren, of op zijn minst de versheid bij elke paginaweergave bij de server na te vragen.
Nauwkeurigheid tegen belasting
Die strenge regels invoeren levert een veel hogere nauwkeurigheid op, want ze dwingen de browser zich bij elke opening van de pagina te melden. De cache voor het meetplaatje volledig uitzetten betekent echter ook dat de server veel meer aanvragen moet verwerken.
Hij moet rekenkracht besteden aan het opnieuw tekenen van de afbeelding bij elke herlading, ook als het getal maar met één veranderd is.
Het juiste evenwicht vinden tussen nauwkeurig vastleggen en verstandig omgaan met middelen is een kerntaak bij het draaien van zo'n dienst. Soms is een kleine vertraging in het bijwerken van het zichtbare getal een ruil die de moeite waard is om de infrastructuur snel te houden, zodat de eigenlijke inhoud nooit vertraging oploopt.
Waarom herladen niets bewijst
De rol van de plaatselijke voorraad begrijpen, verheldert waarom herhaaldelijk met de hand herladen een slechte manier is om de nauwkeurigheid van een meetgereedschap na te gaan.
Weigeren de getallen te klimmen nadat je vijf keer op herladen hebt gedrukt, dan is de waarschijnlijkste verklaring dat de browser eenvoudigweg het plaatje hergebruikt dat hij de eerste keer gedownload heeft. Een heel andere browser openen, of een apart apparaat op een andere netwerkverbinding gebruiken, gaat volledig om de plaatselijke voorraad heen en dwingt een verse aanvraag af.
Zo krijg je een veel duidelijker beeld van de vraag of de server nieuwe bezoekers goed vastlegt en bijgewerkte plaatjes voor de pagina maakt.