Что такое формат файла LOCALSTORAGE?
Файл .localstorage - это база данных на диске, которую веб-браузер создает для реализации HTML5 Web Storage (localStorage) - хранилища типа «ключ-значение», позволяющего веб-сайтам сохранять данные между сессиями. Файлы LOCALSTORAGE выполняют функцию, аналогичную cookies, хотя спецификация Web Storage определяет более широкий и функциональный набор операций хранения.
Уникальность файлов LOCALSTORAGE
Данные, хранящиеся в файлах LOCALSTORAGE, не удаляются при закрытии браузера. Такие данные сохраняются на компьютере пользователя; веб-сервер не имеет к ним автоматического доступа. Данные LOCALSTORAGE могут быть прочитаны и записаны через JavaScript только тем же доменом, который их создал, что обеспечивает изоляцию по источнику. Файлы LOCALSTORAGE обычно больше по размеру, чем файлы cookies.
Какие веб-браузеры используют файлы LOCALSTORAGE?
LOCALSTORAGE поддерживается всеми современными браузерами. Ранняя поддержка появилась примерно в 2008-2009 годах в Chrome 4, Firefox 3.5, Safari 4, Opera 10.5 и Internet Explorer 8. Мобильная поддержка последовала в Android Browser и iOS Safari.
Лимиты размера
Спецификация HTML5 рекомендует лимит в 5 МБ на один источник. Десктопные браузеры обычно позволяют:
- 5 МБ в Safari,
- 10 МБ в Chrome и Firefox.
Мобильные браузеры обычно устанавливают более жесткий лимит в 2-5 МБ на источник.
Формат хранения
Старые браузеры на базе WebKit (Safari и ранние версии Chrome) хранили данные LOCALSTORAGE в виде базы данных SQLite с таблицей ItemTable, сопоставляющей ключи со значениями. Google Chrome перенес бэкенд localStorage с SQLite на LevelDB примерно в версии Chrome 28 (2013) - современный Chrome хранит эти файлы в подпапке leveldb/ внутри каталога Local Storage в профиле пользователя. Некоторые приложения Electron и старые браузеры на базе Chromium до сих пор записывают SQLite-файлы .localstorage.
Безопасность и защита
РИСК: LOWФайлы .localstorage являются пассивными базами данных SQLite, содержащими данные веб-сайтов (настройки, токены сессий, кэшированные значения). Они могут содержать конфиденциальную информацию, такую как токены авторизации или личные данные, сохраненные сайтами. Не передавайте и не раскрывайте эти файлы. Их удаление очищает localStorage для соответствующего источника (вы можете выйти из учетных записей на сайтах).
Детали формата
в двух словахПрограммы, открывающие файлы LOCALSTORAGE
Технические подробности
глубокая спецификация| Контейнер (WebKit/Safari/старый Chrome) | Файл базы данных SQLite 3 |
| Магические байты SQLite | `SQLite format 3` + NUL (hex 53 51 4C 69 74 65 20 66 6F 72 6D 61 74 20 33 00) по смещению 0 |
| Внутренняя таблица SQLite | `ItemTable (key TEXT, value TEXT)` - одна строка на каждую пару ключ-значение localStorage; один файл базы данных на источник |
| Изоляция по источнику | Один файл на источник (протокол + хост + порт); кросс-доменный доступ блокируется политикой одного источника браузера |
| Лимит хранилища | 5 МБ на источник (рекомендация HTML5); десктопные браузеры на практике ограничивают 5-10 МБ |
| Постоянство данных | Данные сохраняются после закрытия браузера и перезагрузки ОС; очищаются только явным скриптом сайта или действием пользователя в настройках браузера |
| JavaScript API | Чтение/запись исключительно через `localStorage.getItem()` / `localStorage.setItem()`; прямой доступ к файлам со стороны веб-страниц отсутствует |
| Шифрование | Отсутствует; все сохраненные значения являются открытым текстом в базе данных SQLite или записях LevelDB |
| Миграция бэкенда Chrome | Chrome переключил localStorage с SQLite (файлы .localstorage) на LevelDB примерно в Chrome 28 (2013); современные установки используют LevelDB |
| Расположение файлов Chrome (Windows) | `%LOCALAPPDATA%\Google\Chrome\User Data\Default\Local Storage\leveldb\` |
| Расположение файлов Safari (macOS) | `~/Library/Safari/LocalStorage/` - один SQLite-файл `.localstorage` на источник |
| Приложения Electron | Многие десктопные приложения на базе Electron по-прежнему записывают SQLite-файлы `.localstorage` в директорию пользовательских данных приложения |
| Выпущен | 2008 (WebKit/Safari 4 beta; Chrome 1.0) |
| Открыть стандартное | Да · без роялти |
| Спецификация | html.spec.whatwg.org |
Вопросы и ответы сообщества
спрошено пользователямиВопросов пока нет - станьте первым, кто спросит о файлах LOCALSTORAGE.