Przejdź do głównej zawartości

LocalStorage vs SessionStorage

Web Storage API

LocalStorage i SessionStorage to mechanizmy Web Storage API, które pozwalaja przechowywac dane w przegladarce użytkownika. W przeciwienstwie do ciasteczek, dane te nie sa automatycznie wysyłane do serwera. LocalStorage przechowuje dane trwale, a SessionStorage - tylko do zamkniecia zakładki. Zrozumienie różnic i ograniczeń tych mechanizmow jest kluczowe dla prawidłowego projektowania aplikacji webowych.

  • Przechowywanie stanu - Zapisywanie preferencji użytkownika, koszykow zakupowych, draftow formularzy
  • Offline-first - Dane dostepne nawet bez połączenia z internetem
  • Wydajnosc - Brak dodatkowych żądań do serwera po dane lokalne
  • Bezpieczeństwo - Zrozumienie, czego NIE wolno przechowywac w storage
  1. Rozumiec czym jest Web Storage API i jak rozni się od cookies
  2. Umiec wyjaśnić różnicę miedzy LocalStorage a SessionStorage
  3. Potrafic pokazac przykłady kodu JavaScript do zapisu i odczytu danych
  4. Wiedzieć jakie sa ograniczenia i zagrożenia bezpieczeństwa
  1. Web Storage API

    • Czym jest Web Storage
    • Różnica wzgledem cookies
    • Limit pojemnosci (ok. 5-10 MB)
  2. LocalStorage

    • Trwałość danych (bez daty wygasniecia)
    • Zakres (cała domena)
    • Typowe zastosowania
  3. SessionStorage

    • Czas zycia (do zamkniecia zakładki/okna)
    • Zakres (pojedyncza zakładka)
    • Typowe zastosowania
  4. Bezpieczeństwo

    • Podatnosc na XSS
    • Co można, a czego nie wolno przechowywac
    • Porownanie z HttpOnly cookies

Przykład 1

Zapis do localStorage - setItem() z roznymi typami danych

Przykład 2

Odczyt z localStorage - getItem() i obsługa null

Przykład 3

Zapis do sessionStorage - przykład z danymi formularza

Przykład 4

Usuwanie danych - removeItem() i clear()

  • Przechowywanie obiektow (JSON.stringify/parse)
  • Obsługa zdarzenia storage (synchronizacja miedzy zakładkami)
  • IndexedDB jako alternatywa dla większych danych
  • Tryb prywatny i ograniczenia storage
  • Porownanie z cookies (tabela)
  • Implementacja prostego cache z TTL
  • Bezpieczne przechowywanie tokenow - dyskusja
  1. Wstep (0.5 strony) - potrzeba przechowywania danych w przegladarce
  2. Web Storage API (1 strona) - definicja, porownanie z cookies
  3. LocalStorage (1.5 strony) - cechy, zastosowania, przykłady kodu
  4. SessionStorage (1 strony) - cechy, zastosowania, przykłady kodu
  5. Bezpieczeństwo (1 strona) - zagrożenia, dobre praktyki
  6. Porownanie (0.5 strony) - tabela localStorage vs sessionStorage vs cookies
  7. Podsumowanie (0.5 strony)
  8. Bibliografia
  1. Jaka jest główna różnica miedzy localStorage a sessionStorage?
  2. Czy dane z localStorage sa wysyłane do serwera przy każdym zadaniu HTTP?
  3. Dlaczego NIE powinno się przechowywac tokenu JWT w localStorage?
  4. Jak zapisać obiekt JavaScript w localStorage?
  5. Co się stanie z danymi sessionStorage po zamknieciu przegladarki?
  6. Jak usunąć wszystkie dane z localStorage dla danej domeny?

To więcej niz praca zaliczeniowa

Opracowanie tego tematu to szansa, by naprawde zrozumiec jak przechowywac dane po stronie klienta. Każda nowoczesna aplikacja webowa korzysta z mechanizmow storage do poprawy UX.

Wykorzystaj lekcje - konsultuj watpliwosci, pokazuj postepy! Pracuj iteracyjnie - outline -> draft -> kod -> testy w przegladarce -> redakcja