2012-03-12 3 views
14

При использовании функциональных возможностей HTML5 WebStorage я знаю, что определенные браузеры, такие как Chrome, имеют инструменты для разработчиков, которые позволяют пользователям просматривать содержимое своего WebStorage для отладки и устранения неполадок.Как хранятся данные HTML5 WebStorage?

Мне было интересно, можно ли просматривать содержимое веб-хранилища в файловой системе. Сохраняется ли это содержимое в текстовых файлах в файловой системе, которые находятся в некотором стандартном расположении? Или эти данные хранятся в каком-то собственном двоичном формате различными браузерами и не предназначены для просмотра или просмотра при просмотре файловой системы?

Моей мотивацией для запроса этого вопроса является просмотр, можете ли вы просматривать содержимое WebStorage в файловой системе в качестве средства разработки и отладки, а также просто из любопытства также посмотреть, как эти данные фактически хранятся.

Спасибо.

+0

В зависимости от браузера. – Quentin

+0

Вы можете найти http://www.w3schools.com/html5/html5_webstorage.asp. – Hope4You

+3

@ Hope4You - маловероятно, так как (а) это w3schools (и, следовательно, ужасно) и (б) полностью сосредоточены на API, предоставляемых браузерами, а не на их внутренностях. – Quentin

ответ

10

Chrome использует SQLite для LocalStorage.

Я подтвердил это, перейдя на AppData\Local\Google\Chrome\User Data\Default\Local Storage на свой локальный компьютер и просмотрев содержимое файла. Файлы начинаются с «SQLite format 3» при просмотре через текстовый редактор. Для просмотра данных вам понадобится средство просмотра базы данных SQLite.

+0

Спасибо Nunnery, это отличная информация! Есть ли у вас какие-либо идеи об Firefox или IE? –

+0

FireFox использует базы данных SQLite, а также HTML5 WebStorage. Я рекомендую использовать [FireFoxes SQLite Manager addon] (https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/) для просмотра баз данных SQLite в локальной файловой системе. –

7

В Mac OS X, это было в ~/Library/Application Support/Google/Chrome/Default/Local Storage

Я использовал Command Line Shell For SQLite, чтобы осмотреться. Предполагая, что www.example.com был настоящий сайт, вы можете запустить следующие команды:

$ sqlite3 http_www.example.com_0.localstorage 
sqlite> .tables 
ItemTable 
sqlite> .schema 
CREATE TABLE ItemTable (key TEXT UNIQUE ON CONFLICT REPLACE, value BLOB NOT NULL ON CONFLICT FAIL); 
sqlite> select * from ItemTable; 
stringkey|value 
jsonkey|{"key","value"} 
sqlite> .exit 

См Where does firefox store javascript/HTML localStorage? для места хранения Firefox. Chrome использует отдельные файлы sqlite для имени хоста и протокола, где Firefox использует один файл webappsstore.sqlite с измененным именем хоста и протоколом в столбце области.

См. Where the sessionStorage and localStorage stored? для места хранения Opera. Opera использует XML-индексный файл и отдельные файлы XML для кодированных данных Base64.

3

Просто хотел внести свой вклад в IE 11. LocalStorage хранится в C: \ Users [ВАШ СЧЕТ USER] \ AppData \ LocalLow \ Microsoft \ Internet Explorer \ DOMStore

Тем не менее, по умолчанию скрыт , Чтобы отобразить эту папку, вам необходимо: Параметры папки -> Снимите флажок «Скрыть защищенный файл операционной системы» Вернувшись в папку, вы увидите внутри нее внутреннюю папку. В каждую папку вы увидите некоторые файлы XML в соответствии с веб-сайтами.