I am trying to find out where Firefox stores the sessionStorage content but have been unable to find so. I am expecting it to be in a SqLite database like the localStorage content is stored but I have not been able to find it.
So far, I have searched all the typical ".sqlite" files in the profile folder such as cookies.sqlite and content-prefs.sqlite etc but they do not seem to have the sessionStorage data.
I also tried to open the special in-memory database that Firefox supposedly creates - https://developer.mozilla.org/en/XPCOM_Interface_Reference/mozIStorageService#openSpecialDatabase%28%29 but I could not find a way to enumerate the tables present in the database. I could get a connection to the in memory database but i have no clue as to how to figure out the tables etc. that are present in that in-memory database...
Any help is appreciated
Thanks,
During runtime Firefox uses files is the sessionstore-backups folder. You will normally find these files in the sessionstore-backups folder: *previous. jsonlz4 (cleanBackup: copy of sessionstore.
The sessionStorage exists only within the current browser tab. Another tab with the same page will have a different storage. But it is shared between iframes in the same tab (assuming they come from the same origin).
The two mechanisms within Web Storage are as follows: sessionStorage maintains a separate storage area for each given origin that's available for the duration of the page session (as long as the browser is open, including page reloads and restores).
Using localStorage and sessionStorage for storage is an alternative to using cookies and there are some advantages: The data is saved locally only and can't be read by the server, which eliminates the security issue that cookies present.
localStorage
data is saved in the file webappsstore.sqlite
in the Firefox profile. There is a funny tweak that host names are reverted (gro.allizom
instead of mozilla.org
) but other than that it is pretty much what you would expect. There is only one table:
CREATE TABLE webappsstore2 (
scope TEXT,
key TEXT,
value TEXT,
secure INTEGER,
owner TEXT
)
Note that this structure might change in a future Firefox version.
As to sessionStorage
, it only needs to persist for one browser session. Restarting the browser normally clears it, so it doesn't need to be stored in a database. Firefox still writes it to disk to allow restoring the current browsing session, namely to the sessionstore.js
file (JSON format). There is a key storage
, its value is a map from URLs to their corresponding sessionStorage
data. I am not sure whether this data is complete however given that its main purpose is to recover from crashes.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With