Küpsised või LocalStorage

Joel Edenberg

Nii küpsised (cookies) kui ka LocalStorage võimaldavad salvestada veebilehitsejas andmeid, mida saab hiljem kasutada kasutajaliideses või päringute tegemisel serverisse.

Küpsised on pigem mõeldud andmete kasutamiseks serveri poolel ja LocalStorage pigem andmete kasutamiseks kliendi (veebilehitseja) poolel.

Tehnilisest küljest on nende 2 tehnoloogia kõige suurem erinevus turavalisus. Küpsistes olevate andmete nähtavust saab kontrollida nii, et ainult samalt domeenilt pärinev JavaScript saab neid lugeda ning kirjutada. Kuid LocalStorage andmed on nähtavad kogu veebilehel leiduvale JavaScriptile, hoolimata milliselt domeenilt JavaScript pärineb. See tähendab, et mõni välise osapoole kood võib lugeda kogu LocalStorage sisu. Seega LocalStorage'sse ei tohi salvestada salajast infot (JWT, paroolid, isikuandmed jne).

Samas on võimalik LocalStorage'sse kirjutada oluliselt rohkem andmeid kui küpsistesse - 5MB vs 4095 baiti.

LocalStorage andmetel ei ole kehtivuse aega (erinevalt küpsistest). Andmed kustutatakse ainult läbi JavaScripti või käsitsi veebilehitseja sessiooniandmete puhastamise operatratsiooniga.

Olenevalt olukorrast võib LocalStorage üks eelis olla see, et erinevalt küpsistest ei saadeta selle andmeid iga päringuga alati kaasa. Kasutades JavaScripti saab ise otustada kuna ja millist osa andmetest serveripäringule kaasa pannakse.