Co to jest format pliku LOCALSTORAGE?
Plik .localstorage to baza danych na dysku, którą przeglądarka internetowa tworzy w celu implementacji HTML5 Web Storage (localStorage) - magazynu klucz-wartość, który pozwala witrynom zachowywać dane między sesjami. Pliki LOCALSTORAGE pełnią funkcję podobną do plików cookie, chociaż specyfikacja Web Storage definiuje szerszy i bardziej wydajny zestaw operacji przechowywania.
Unikalność plików LOCALSTORAGE
Dane przechowywane w plikach LOCALSTORAGE nie są usuwane po zamknięciu przeglądarki. Takie dane są zapisywane na komputerze użytkownika; serwer WWW nie ma do nich automatycznego dostępu. Dane LOCALSTORAGE mogą być odczytywane i zapisywane wyłącznie przez JavaScript z tej samej domeny, która je utworzyła, co zapewnia izolację pochodzenia. Pliki LOCALSTORAGE są zazwyczaj większe niż pliki cookie.
Które przeglądarki używają plików LOCALSTORAGE?
LOCALSTORAGE jest obsługiwany przez wszystkie nowoczesne przeglądarki. Wczesne wsparcie pojawiło się około lat 2008-2009 w Chrome 4, Firefox 3.5, Safari 4, Opera 10.5 i Internet Explorer 8. Wsparcie mobilne pojawiło się w Android Browser i iOS Safari.
Limity rozmiaru
Specyfikacja HTML5 zaleca limit 5 MB na pochodzenie (origin). Przeglądarki desktopowe zazwyczaj pozwalają na:
- 5 MB w Safari,
- 10 MB w Chrome i Firefox.
Przeglądarki mobilne zazwyczaj narzucają bardziej rygorystyczny limit 2-5 MB na pochodzenie.
Format przechowywania
Starsze przeglądarki oparte na WebKit (Safari i wczesne wersje Chrome) przechowywały dane LOCALSTORAGE jako bazę danych SQLite z tabelą ItemTable mapującą klucze na wartości. Google Chrome zmigrował swój backend localStorage z SQLite na LevelDB około wersji Chrome 28 (2013) - nowoczesny Chrome przechowuje te pliki w podfolderze leveldb/ w katalogu Local Storage w profilu użytkownika. Niektóre aplikacje Electron i starsze przeglądarki oparte na Chromium nadal zapisują pliki SQLite .localstorage.
Bezpieczeństwo
RYZYKO: LOWPliki .localstorage to pasywne bazy danych SQLite zawierające dane witryn (preferencje, tokeny sesji, wartości w pamięci podręcznej). Mogą zawierać wrażliwe dane, takie jak tokeny sesji lub informacje osobiste zapisane przez strony internetowe. Nie udostępniaj ani nie wystawiaj tych plików. Ich usunięcie czyści localStorage dla danego pochodzenia (możesz zostać wylogowany z witryn).
Szczegóły formatu
w pigułceProgramy otwierające pliki LOCALSTORAGE
Szczegóły techniczne
specyfikacja| Kontener (WebKit/Safari/starszy Chrome) | Plik bazy danych SQLite 3 |
| Magiczne bajty SQLite | `SQLite format 3` + NUL (hex 53 51 4C 69 74 65 20 66 6F 72 6D 61 74 20 33 00) pod offsetem 0 |
| Wewnętrzna tabela SQLite | `ItemTable (key TEXT, value TEXT)` - jeden wiersz na parę klucz-wartość localStorage; jeden plik bazy danych na pochodzenie |
| Izolacja pochodzenia | Jeden plik na pochodzenie (schemat + host + port); dostęp między różnymi pochodzeniami jest blokowany przez politykę same-origin przeglądarki |
| Limit przechowywania | 5 MB na pochodzenie (rekomendacja HTML5); przeglądarki desktopowe w praktyce wymuszają 5-10 MB |
| Trwałość danych | Dane przetrwają zamknięcie przeglądarki i restart systemu operacyjnego; usuwane tylko przez jawny skrypt witryny lub działanie użytkownika w ustawieniach przeglądarki |
| API JavaScript | Odczyt/zapis wyłącznie przez `localStorage.getItem()` / `localStorage.setItem()`; brak bezpośredniego dostępu na poziomie plików dla stron internetowych |
| Szyfrowanie | Brak; wszystkie przechowywane wartości są tekstem jawnym w bazie danych SQLite lub wpisach LevelDB |
| Migracja backendu Chrome | Chrome przełączył localStorage z SQLite (pliki .localstorage) na LevelDB około wersji Chrome 28 (2013); nowoczesne instalacje używają LevelDB |
| Lokalizacja plików Chrome (Windows) | `%LOCALAPPDATA%\Google\Chrome\User Data\Default\Local Storage\leveldb\` |
| Lokalizacja plików Safari (macOS) | `~/Library/Safari/LocalStorage/` - jeden plik SQLite `.localstorage` na pochodzenie |
| Aplikacje Electron | Wiele aplikacji desktopowych opartych na Electron nadal zapisuje pliki SQLite `.localstorage` w swoim katalogu danych użytkownika |
| Wydano | 2008 (WebKit/Safari 4 beta; Chrome 1.0) |
| Otwarty standard | Tak · bezpłatny (royalty-free) |
| Specyfikacja | html.spec.whatwg.org |
Pytania i odpowiedzi społeczności
pytania użytkownikówBrak pytań - bądź pierwszą osobą, która zapyta o pliki LOCALSTORAGE.