R-pd.4.3
Vermijd het gebruik van sessies in URL’s.
Sessies in URL’s
Vermijd het gebruik van sessies in URL’s. Als het functioneren van de site afhangt van sessies, zal een terugkerende bezoeker die de link uit zijn Favorieten volgde de pagina niet kunnen opvragen, doordat de identiteit niet langer geldig is. Evenmin kan dan door door andere sites of zoekmachines naar deze pagina worden gelinkt. Veel zoek-spiders zullen dergelijke URL’s niet eens indexeren, vanwege de te verwachten problemen.
Uitleg van deze richtlijn
Wat is een sessie?
Sessies zijn een methode om bezoekers te identificeren. Bezoekers van websites zijn in principe anoniem: als een site door een browser wordt opgevraagd, wordt de aangesproken webserver niet verteld wie die bezoeker is. Dat maakt het lastig om bijvoorbeeld het surfgedrag van een bezoeker in de gaten te houden, of een terugkerende bezoeker te herkennen. Daarom zijn sessies bedacht.
Een bezoeker krijgt bij het bezoek van een site een uniek identiteitsnummer dat bewaard wordt in de browser van deze bezoeker (in een zogenaamde cookie). Bij elke volgende pagina die wordt opgevraagd, wordt dit identiteitsnummer naar de webserver gestuurd. Na een bepaalde tijd vervalt dit identificatienummer (bijvoorbeeld, wanneer de bezoeker de site verlaat) en dient de bezoeker zich opnieuw te identificeren. Een voorbeeld van een applicatie die gebruik maakt van sessies is wetten.overheid.nl.
In uitzonderingsgevallen, maar soms echter ook met opzet van de webontwikkelaar, wordt dit identiteitsnummer in de URL van de op te vragen pagina gezet.
Het probleem
Als het functioneren van de site afhangt van deze vorm van identificatie, zal een terugkerende bezoeker die de link uit zijn Favorieten volgde de pagina niet kunnen opvragen, omdat de identiteit niet langer geldig is. Evenmin kunnen daardoor andere sites - laat staan zoekmachines - naar deze pagina linken. Veel zoek-spiders zullen URL’s die sessies bevatten niet eens indexeren, vanwege de te verwachten problemen.
Als de ontwikkelaar besluit om wel sessies te gebruiken, dan moet deze rekening houden met de volgende punten.
- Maak het functioneren van de site niet afhankelijk van de ondersteuning voor sessies. Dit kan betekenen dat sommige bezoekers niet te identificeren zullen zijn. Hoewel dit een beperking in functionaliteit kan betekenen, is dat nog geen reden bezoekers bij de informatie op de pagina weg te houden.
- Stel de server in om geen sessies in URL’s te produceren, maar enkel gebruik te maken van sessies via cookies.
In uitzonderingsgevallen zal een systeem afhankelijk zijn van identificatie van de bezoeker, bijvoorbeeld voor het ingelogd blijven in een CMS. Identificatie is hierin een integraal onderdeel en het niet vereisen hiervan vormt een bedreiging voor de beveiliging van het systeem. Let wel, voor toegang tot beveiligde sites zijn alternatieven te bedenken, zoals HTTP-authenticatie.
Links en referenties
- Aan de slag: Permanente, unieke URL's
Gerelateerde richtlijnen
- R-pd.4.1: Produceer unieke, onveranderende URL’s.
- R-pd.4.2: Dynamisch gegenereerde URL’s dienen nog steeds naar dezelfde inhoud te verwijzen als inhoud wordt gewijzigd of toegevoegd.
- R-pd.4.4: Zorg voor doorverwijzing naar de nieuwe locatie bij het verplaatsen van informatie.
Bijbehorende ijkpunten normdocument
- IJkpunt 14.5: Produceer unieke, onveranderende URL's.
