Storage Inspector

Der Web-Speicher-Inspektor ermöglicht dir die Einsicht der verschiedenen Speicher-Typen, welche Websites zur Nutzung zur verfügung stehen. Zur Zeit besteht die Möglichkeit des auslesens folgender Speicher-Typen:

  • Cache Speicher— sämtliche DOM caches die über die Cache API erzeugt wurden.
  • Cookies (Kekse) — Sämtliche cookies welche von der Website selbst, oder von in ihr eigebetteten iFrames erzeugt wurden. Cookies die Bestandteil der Antworten auf Netzwerkanfragen sind, werden dann aufgelistet, wenn sie bei geöffnetem Web-Speicher erzeugt wurden oder darauf zugegriffen wird.
  • IndexedDB — Von allen IndexedDB (indizierte Datenbanken) die von der einer Seite oder in ihr eingebetteteten iFrames erzeugt wurden, können die Objekt-Speicher ausgelesen und ihre Inhalte aufgelistet werden
  • Local Storage — Alle Einzelpositionen, der von der Web-Seite oder in ihr eigebetteteten Iframes erzeugten local storage (lokalen Speicher) sind einsehbar.
  • Session Storage — Alle Inhalte im session storage die von der aktuellen Web-Site und der in ihr eingebetteten iFrames erzeugt wurden oder werden, können betrachtet werden.

Vorerst ermöglicht der Web-Speicher-Inspektor nur Lesezugriff auf die einzelnen Speicher-Typen. Aber wir arbeiten daran in einer zukünftigen Version auch den Schreibzugriff zu ermöglichen, damit es möglich wird, die einzelnen Speicher Inhalte auch zu verändern.

Den Web-Speicher-Inspektor öffnen

Du kannst den Web-Speicher-Inspektor durch Auswählen von "Web-Speicher-Inspektor" im Entwickler-Untermenü im Firefox Hauptmenü (oder im Web-Entwickler-Menü, wenn die Menü-Zeile angezeigt wird oder bei Mac OS X) oder durch Drücken von Shift + F9 auf der Tastatur.

Die Entwickler-Box wird am Fuß des Browser-Fensters erscheinen, mit dem Web-Speicher-Inspektor aktiviert. In der Box heißt er nur "Web-Speicher".

Web-Speicher-Inspektor Benutzeroberfläche

Die Web-Speicher-Inspektor-Benutzeroberfläche ist in drei Hauptkomponenten unterteilt:

Speicherbaum

Der Speicherbaum zeigt alle Speichertypen, die der Web-Speicher-Inspektor anzeigen kann:

Unter jedem Type werden die Objekte nach ihrer Herkunft organisiert. Bei Cookies unterscheidet das Protokoll nicht die Herkunft. Für Indexed DB oder lokalen Speicher ist die Herkunft eine Kombination aus Protokoll und Hostnamen. Zum Beisiel sind "http://mozilla.org" und "https://mozilla.org" zwei verschiedene Herkünfte, somit kann lokaler speicher nicht zwischen ihnen ausgetauscht werden.

Unter "Cache-Speicher" sind die Objekte erst nach Herkunft und dann nach Name des Caches gespeichert:

IndexedDB sind nach Herkunft, dann nach Datenbank-Name und dann nach Objekt-Speicher-Name abgelegt:

Bei Cookies, lokalem Speicher und Sitzungs-Speicher gibt es nur eine Hierarchie-Ebene also sind die Objekte direkt unter der Herkunft aufgelistet:

Du kannst auf jeden Eintrag klicken, um die Untereinträge auf- oder zuzuklappen.

Klicken auf einen Untereintrag stellt detaillierte Informationen in der tabellarischen Ansicht rechts davon dar.Zum Beispiel führt das Klicken auf einen Eintrag im Cookies-Abschnitt dazu, dass alle Cookies von der ausgewählten Domain gezeigt werden.

Tabellarische Übersicht

Die tabellarische Übersicht ist der Platz, wo alle Einträge entsprechend zu dem gewählten Eintrag aufgelistet werden (egal ob Herkunft oder Datenbank).

Alle Spalten in der tabellarischen Übersicht sind skalierbar. Du kannst Spalten zeigen oder verstecken durch Klicken auf den Tabellenkopf und Auswählen welche Spalten du sehen möchtest:

Suche

Es gibt eine Suchzeile am Kopf der tabellarischen Übersicht:

Diese filtert die Tabelle damit nur noch Einträge die den Suchbegriff enthalten angezeigt werden. Einträge passen zum Suchbegriff, wenn in einem beliebigen Feld (auch den ausgeblendeten) der Begriff enthalten ist.

Ab Firefox 50 aufwärts kann man  Strg + F (Cmd + F beim Mac) drücken, um in die Suchbox zu springen.

Hinzufügen und aktualisieren des Speichers

Bei neueren Versionen des Firefox hast du Knöpfe verfügbar, um die aktuelle Ansicht des betrachteten Speichers zu aktualisieren und wo möglich einen eigenen Eintrag hinzuzufügen (du kann bei IndexedDB oder Cache keine eigenen Einträge vornehmen):

Wenn du eine Reihe in der Tabelle auswählst, werden in der Sidebar Details über diese Zeile angezeigt. Wenn ein Cookie ausgewählt wird, werden alle Details dieses Cookies angezeigt.

Die Sidebar kann den Wert eines Cookies, lokalen Speicherobjekts oder eines Indexed DB Eintrags parsen und in einen aussagekräftiges Objekt erzeugen anstatt nur eines Strings. Zum Beispiel:

  • Ein stringifizierter JSON wie '{"foo": "bar"}' wird angezeigt wie das Original-JSON: {foo: "bar"}.
  • Ein schlüsselseparierter String, wie "1~2~3~4" oder "1=2=3=4", wird wie ein Array angezeigt: [1, 2, 3, 4].
  • Ein String mit Wertpaaren, wie "ID=1234:foo=bar" wird wie JSON angezeigt: {ID:1234, foo: "bar"}.

Die gezeigten Werte können mit Hilfe des Suchfeldes im Kopf der Sidebar gefiltert werden.

Cache Speicher

Unter dem Eintrag "Cache Storage" kannst du den Inhalt jedes DOM Caches sehen, der unter Verwendung von Cache API erzeugt wurde. Wenn du einen Cache auswählst, siehst du eine Liste der Einträge die er enthält. Für jeden Eintrag siehst du:

  • die URL des Eintrags
  • den Status Code für den Aufruf der für den Abruf der Daten gemacht wurde.

Cookies (Kekse ;-)

Wenn du eine Herkunft aus dem "Cookie Storage" Eintrag im Speicherbaum auswählst, werden alle Cookies die für diese Herkunft gespeichert sind im Tabellen-Fenster angezeigt. Die Cookies-Tabelle hat folgende Spalten:

  • Name — Der Name des Cookies
  • Pfad— Der Pfad-Eintrag des Cookies
  • Domain — Die Domäne des Cookies
  • Läuft ab am — Die Zeit wann der Cookie üngültig wird. Wenn es ein Session-Cookie ist, ist der Inhalt "Session"
  • Zuletzt zugegriffen — Wann der Cookie zuletzt gelesen wurde
  • Erstellt — Wann der Cookie erstellt wurde
  • Wert — Der Inhalt des Cookies
  • HostOnly — Ist dies ein Domain-Cookie: wenn ja, beginnt der Eintrag "domain" mit "."
  • Secure — Ist es ein sicherer Cookie
  • HttpOnly — Ist dieser Cookie nur für HTTP
  • sameSite — Ist es ein Dieselbe-Site-Cookie? "Same-site cookies" erlauben Servern das Risiko von CSRF und Informations-Leck-Attacken zu verringern, wenn Sie sicherstellen, dass bestimmte Cookies nur gesendet werden, wenn die Anfrage von derselben registrierten Domain erfolgt.

Bitte beachten: Einige Spalten werden standardmäßig nicht gezeigt — um die Spaltendarstellung zu ändern, Rechts/Ctrl-Klick auf den angezeigten Tabellenkopf und das erscheinende Menü benutzen, um die Spalten ein- und auszuschalten.

Du kann die Cookies editieren, wenn du in der Tabellen-Ansicht doppelklickst und die angezeigten Werte veränderst. Neue Cookies können mit dem "Plus" (+) Knopf und dem Editieren der erscheinenden neuen Zeile erstellt werden.

Du kannst außerdem Cookies löschen, indem du das Menü in jeder Zeile benutzt:

Local storage / Session storage

Wenn ein Eintrag aus dem local Storage oder dem session storage ausgewählt wird, zeigt die Tabelle alle Einträge, die mit der entsprechenden Session und local oder session storage zu tun haben.

Du kannst die Einträge im local und session storage bearbeiten, wenn du in die entsprechende Zelle im Tabellen-Widget doppelklickst und die Werte editierst:

Außerdem kannst die local und session storage Einträge mit Hilfe des Kontext-Menüs löschen:

Schließlich kannst du auch Einträge durch drücken des "Plus" (+) Knopfes hinzufügen und dann die erzeugte Zeile mit Wunschwerten füllen.

IndexedDB

Wenn du einen Ursprung innerhalb des Speichertyps IndexedDB in der Speicherstruktur auswählst, werden in der Tabelle die Details aller für diesen Ursprung vorhandenen Datenbanken aufgelistet.

Hinweis: Die in einer IndexedDB-Datenbank angezeigten Daten sind eine Momentaufnahme der Daten, wie sie beim Öffnen des Web-Speicher-Werkzeugs vorhanden waren.

Datenbanken haben folgende Details:

  • Datenbankname — Der Name der Datenbank
  • Speicher — Der Speichertyp spezifiziert für die Datenbank
  • Herkunft — Ihre Herkunft
  • Version — Die Datenbank-Version
  • Speicher-Objekte — Anzahl der gespeicherten Objekte in der Datenbank

Wenn eine IndexedDB-Datenbank in der Speicherstruktur ausgewählt ist, werden Details zu allen Objektspeichern in der Tabelle aufgelistet. Jeder Objektspeicher enthält die folgenden Details:

  • Objektspeichername — Der Name des Objektspeichers
  • Schlüssel — Der SchlüsselPfad der zum Objektspeicher gehört.
  • Auto Increment — Zeigt, ob auto increment aktiviert ist
  • Indexes — Liste von Indizes im Objektspeicher wie unten angezeigt

Wenn ein Objektspeicher in der Speicherstruktur ausgewählt wird, werden alle Einträge in dem Objektspeicher in der Tabelle aufgelistet.

Du kannst eine Indexed DB Datenbank löschen, indem du den Eintrag aus dem Kontextmenü in der Speicherstruktur benutzt:

Wenn eine Datenbank nicht gelöscht werden kann (meistens, weil es noch aktive Verbindungen zur Datenbank gibt), wird eine Warnmeldung im Speicher-Inspektor angezeigt:

Du kannst das Kontext-Menü im Tabellen-Editor benutzen, um alle Einträge in einem Objektspeicher zu löschen oder nur einzelne: