2012-03-12 32 views
14

Khi sử dụng chức năng WebStorage của HTML5, tôi biết rằng một số trình duyệt nhất định, như Chrome, có các công cụ dành cho nhà phát triển cho phép người dùng duyệt qua nội dung của WebStorage của họ để gỡ lỗi và các mục đích gây khó khăn.Dữ liệu lưu trữ WebStream của HTML5 được lưu trữ như thế nào?

Tôi đã tự hỏi liệu có thể xem nội dung lưu trữ web trong hệ thống tệp hay không. Nội dung này có được lưu trữ trong các tệp văn bản trên hệ thống tệp ở một số vị trí tiêu chuẩn không? Hoặc là dữ liệu này được lưu trữ ở một số định dạng nhị phân độc quyền bởi các trình duyệt khác nhau và không được thiết kế để có thể truy cập hoặc có thể xem được bằng cách duyệt qua hệ thống tệp không?

Động lực của tôi khi đặt câu hỏi này là xem liệu bạn có thể xem nội dung của WebStorage trên hệ thống tệp như một sự trợ giúp để phát triển và gỡ lỗi hay không, cũng như tò mò về cách lưu trữ dữ liệu này.

Cảm ơn.

+0

Phụ thuộc vào trình duyệt. – Quentin

+0

Bạn có thể tìm thấy http://www.w3schools.com/html5/html5_webstorage.asp hữu ích. – Hope4You

+3

@ Hope4You - Không chắc vì (a) nó là w3schools (và do đó khủng khiếp) và (b) hoàn toàn tập trung vào các API được cung cấp bởi trình duyệt chứ không phải trên internals – Quentin

Trả lời

10

Chrome sử dụng SQLite cho LocalStorage.

Tôi đã xác nhận điều này bằng cách truy cập AppData\Local\Google\Chrome\User Data\Default\Local Storage trên máy tính cục bộ của tôi và xem nội dung của tệp. Các tệp bắt đầu bằng "SQLite format 3" khi được xem qua trình soạn thảo văn bản. Bạn sẽ cần một trình xem cơ sở dữ liệu SQLite để xem dữ liệu.

+0

Cảm ơn Ni viện, đó là thông tin tuyệt vời! Bạn có bất kỳ ý tưởng nào về Firefox hoặc IE không? –

+0

FireFox cũng sử dụng cơ sở dữ liệu SQLite cho HTML5 WebStorage. Tôi khuyên bạn nên sử dụng [FireFoxes SQLite Manager addon] (https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/) để xem cơ sở dữ liệu SQLite trên hệ thống tệp cục bộ của bạn. –

7

Trên Mac OS X, đây là lúc ~/Library/Application Support/Google/Chrome/Default/Local Storage

tôi đã sử dụng Command Line Shell For SQLite để nhìn xung quanh. Giả sử www.example.com được một trang web thực sự, bạn có thể chạy các lệnh này:

$ 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 

Xem Where does firefox store javascript/HTML localStorage? cho vị trí lưu trữ Firefox. Chrome sử dụng các tệp sqlite riêng lẻ cho mỗi tên máy chủ và giao thức, trong đó Firefox sử dụng một tệp webappsstore.sqlite duy nhất với tên máy chủ và giao thức được đảo ngược trong cột phạm vi.

Xem Where the sessionStorage and localStorage stored? cho vị trí lưu trữ Opera. Opera sử dụng tệp chỉ mục XML và các tệp XML riêng lẻ cho dữ liệu được mã hóa Base64.

3

Chỉ muốn đóng góp cho IE 11. Các localStorage được lưu trữ trong: C: \ Users [YOUR tài khoản người dùng] \ AppData \ LocalLow \ Microsoft \ Internet Explorer \ DOMStore

Tuy nhiên, nó được ẩn theo mặc định . Để hiển thị thư mục này, bạn phải: Tùy chọn thư mục -> Bỏ chọn "Ẩn tệp hệ điều hành được bảo vệ" Quay lại thư mục, bạn sẽ thấy một số thư mục con bên trong. Chuyển đến mỗi thư mục sẽ thấy một số tệp XML theo trang web.

Các vấn đề liên quan