Rekening houden met sessies
Het zijn soms kleine tweaks, maar zeker bij websites met veel content en veel bezoek kan goed omgaan en rekening houden met sessies de performance verbeteren en zo klanten en bezoekers tevreden maken en houden.
Wanneer een bezoeker naar een website gaat, wordt over het algemeen een sessie aangemaakt voor die bezoeker op de webserver. Dit is uitermate handig, want op de manier kan de user experience worden verbeterd: Deze sessies worden bijvoorbeeld gebruikt om winkelwagentjes of opgegeven keuzes in te bewaren.
Een sessie geldt over het algemeen voor zolang de bezoeker paginaâs bezoekt en acties uitvoert op de betreffende website. Als een bezoeker even niets doet en bijvoorbeeld naar de supermarkt gaat, dan kan het zijn dat zijn sessie verlopen is. Webservers stellen in wanneer een sessie verlopen is. Je kan dan denken aan 30 minuten of 2 uur inactiviteit.
Een sessie is meestal gekoppeld aan één browsersessie: start je de browser of je device opnieuw op en ga je weer naar de website waar je eerst was, dan zal je zeer waarschijnlijk een nieuwe sessie hebben. Dit is omdat de webserver via cookies die gekoppeld zijn aan jouw browser, bijhoudt welke sessie gekoppeld is aan de browser. De âlevensduurâ van zoân cookie is meestal tot het sluiten van de browser. Een webserver kan ervoor kiezen om de levensduur van de cookie een jaar te maken of een week. In dat geval zal je je oude sessie behouden wanneer je weer op de website komt.
Bij je eerste bezoek controleert de server of je een cookie hebt en of die cookie gekoppeld is aan een bestaande sessie. Is dat niet het geval, dan wordt er een nieuwe sessie aangemaakt. Dit geldt voor gewone bezoekers. Mits zij cookies hebben ingeschakeld en dat geldt voor vrijwel alle internetgebruikers.
Het geldt echter meestal niet voor zogenaamde bots: tools die geautomatiseerd je website bezoeken. Wat zijn dat voor tools? Bijvoorbeeld Google of Bing die je website indexeren of een monitoringtool om periodiek te controleren dat de website nog voldoet aan de gestelde snelheidswensen.
Een webserver weet niet of een bezoeker een bot is of menselijk, dus wanneer een bot je website bezoekt, dan controleert de server of er een cookie aanwezig is, wat meestal niet het geval is, en maakt een nieuwe sessie aan. De server stuurt een cookie naar de bot, zodat deze bij het volgende bezoek dezelfde sessie kan gebruiken, maar die bot zal niets doen met de cookie.
Nu ontstaat de situatie dat elke pagina die bezocht wordt door Bing om te indexeren, een nieuwe sessie oplevert. Deze sessie zal net zolang bewaard blijven in het geheugen totdat deze verlopen is. Een sessie hoeft nauwelijks geheugen in te nemen, maar kan ook veel objecten bevatten en dat kan een merkbare invloed hebben op het geheugengebruik.
Dat is zonde en onnodig, met name omdat het geen sessies zijn die hoeven worden bijgehouden voor het gebruikersgemak van bezoekers. Een aantal tips om goed om te gaan met het aantal sessies:
- Zorg ervoor dat sessies van bots een kortere levensduur (of: time-out) hebben dan sessies van menselijke gebruikers. Een monitoringtool hoeft na het controleren van de paginasnelheid geen sessie te hebben, zet de time-out kortom op een seconde of een minuut in zulke gevallen.
- Als je sessies gebruikt om bepaalde data in op te slaan, zoals winkelmandjes, zorg er dan voor dat die data pas wordt ingeladen wanneer de gebruiker daadwerkelijk een actie uitvoert die het gebruik van die data nodig maakt.
Het zijn soms kleine tweaks, maar zeker bij websites met veel content en veel bezoek kan goed omgaan en rekening houden met sessies de performance verbeteren en zo klanten en bezoekers tevreden maken en houden.