Logo David Burdelak
Słownik · Web development

Co to jest localStorage?

Ostatnia aktualizacja:

localStorage to mechanizm przeglądarki, który pozwala zapisywać niewielkie ilości danych w formie par klucz-wartość na urządzeniu użytkownika. Dane pozostają po zamknięciu karty i przeglądarki.

Jak używać localStorage?

Zapisujesz i odczytujesz dane metodami localStorage.setItem('klucz', 'wartość') i localStorage.getItem('klucz'). Pojemność to zwykle kilka megabajtów, a wartości są tekstem.

localStorage, sessionStorage i cookies

sessionStorage trwa do zamknięcia karty. Cookies są wysyłane do serwera przy każdym żądaniu, a localStorage nie. localStorage nadaje się do ustawień interfejsu, ale nie do przechowywania wrażliwych danych.

Bezpieczeństwo localStorage

Każdy skrypt na stronie, także wstrzyknięty przez XSS, może odczytać jego zawartość. Nie przechowuj tam tokenów sesji ani haseł.

Pojemność to zwykle około 5 MB na domenę, a dane są dostępne dla każdego skryptu na stronie, więc nie przechowuj tam haseł ani tokenów.

Kiedy użyć localStorage, a kiedy nie

Sprawdza się do zapamiętania motywu jasny/ciemny, preferencji widoku lub roboczej wersji formularza. Nie nadaje się do danych, które serwer musi znać, ani do czegokolwiek wrażliwego. Dostęp jest synchroniczny, więc zapisywanie dużych wartości może blokować główny wątek. Dla większych ilości danych w przeglądarce lepsze jest IndexedDB. W trybie prywatnym dostęp bywa ograniczony, więc kod powinien obsługiwać wyjątki.

W przeglądarce za przechowywanie zasobów odpowiadają m.in. nagłówki Cache-Control.

Zobacz w praktyce

Powiązane pojęcia

Wszystkie hasła z kategorii Web development