Beste antwoord
Het belangrijkste idee achter cookies en sessies is hetzelfde – er zijn enkele gegevens die moeten worden herinnerd in verschillende delen van een website. Een website wil bijvoorbeeld misschien onthouden welke gebruiker is ingelogd (op de machine die verzoeken doet) om de pagina te personaliseren of zelfs de toegang te controleren.
Voor de meeste eenvoudige gevallen waarin cookies gegevens bevatten die alleen de gebruiker verbeteren ervaring en is wegwerpbaar, hebben cookies de voorkeur, omdat ze op de client worden opgeslagen in plaats van op de server, dus het schaalt goed. Ook cookiegegevens zijn toegankelijk vanuit JavaScript, terwijl sessiegegevens alleen voor de server privé zijn. Cookies kunnen ook blijven bestaan nadat de client de browser sluit of afsluit, terwijl sessies doorgaans niet zo lang duren om bronnen te sparen.
Aan de andere kant, als het om gevoelige gegevens gaat, wil je in plaats daarvan sessies gebruiken om aanvallers te vermijden van het manipuleren van cookies. Yahoo is hiervan een berucht voorbeeld: hun code voor het genereren van cookies is gecompromitteerd en er is toegang tot honderdduizenden accounts gekomen. Dit betekent niet dat cookies niet kunnen worden gebruikt voor authenticatie – maar men moet heel voorzichtig zijn met gegevens die ze niet langer beheren. Veel websites gebruiken een combinatie van beide – cookies om de sessie-ID en alle gevoelige sessiegegevens op de server op te slaan – om gebruikers te onthouden die zich hebben aangemeld.
Cookies en sessies zijn slechts hulpmiddelen zoals hamers en tangen. U moet de situatie beoordelen en uitzoeken welke tool waar werkt.
Antwoord
Welnu, cookies gaan tot een bepaalde vervaldatum mee – wat erg lang kan duren. Het kan worden gebruikt om te voorkomen dat de gebruiker herhaaldelijk moet inloggen of zichzelf op een andere manier moet identificeren.
Sessieopslag vervalt wanneer de gebruiker het browsertabblad sluit … dus het is hopeloos voor al deze dingen.
Misschien denkt u aan “Lokale opslag” – wat nog een derde ding is.
Zowel sessie- als lokale opslag kunnen tussen de 5 en 25 MB opslaan – afhankelijk van de browser – en in elk formaat. Cookies kunnen slechts ongeveer 4 kB groot zijn – wat niet genoeg is voor het opslaan van zaken als afbeeldingen en audio.
Cookies zijn ook handig omdat de server er rechtstreeks toegang toe heeft zonder JavaScript-code nodig te hebben om ze te laden … sessie en lokale opslag vereist JavaScript-code om ze te openen – en als de server ze moet zien, moet er speciale software zijn geschreven om die informatie uit te wisselen.
Cookies en lokale opslag staan ook twee aparte tabbladen toe die naar de dezelfde website om blijvende gegevens te delen. “Sessieopslag” dwingt elk tabblad om afzonderlijke gegevens te gebruiken. Dit kan een goede of een slechte zaak zijn, afhankelijk van wat u nodig heeft.