A股投资环境优化 价值投资理念成主流
Die Indexed Database API, kurz IndexedDB, ist eine Programmierschnittstelle, die es Webseiten mittels JavaScript erlaubt, strukturierte Daten im Browser zu speichern. Der Standard wird vom World Wide Web Consortium entwickelt und ist in Browsern ab 2011 implementiert.
Grundprinzipien
[Bearbeiten | Quelltext bearbeiten]In einer Datenbank IndexedDB k?nnen Webseiten dauerhaft Daten vom Nutzer beim Nutzer speichern und auslesen. Dabei steht jeder Domain ein eigener Speicherbereich zur Verfügung, ein Zugriff auf die von einer anderen Domain gespeicherten Daten ist gem?? der Same-Origin-Policy nicht vorgesehen. Wie gro? der verfügbare Speicher ist, h?ngt vom Browser ab, üblicherweise gibt es eine feste Grenze, die nicht überschritten werden kann, und eine weiche, ab der der Benutzer der Speicherung vorher zustimmen muss.[1] Die Speicherung erfolgt prinzipiell dauerhaft, Browser bieten jedoch ihren Benutzern die M?glichkeit, gespeicherte Daten zu l?schen.[2]
Die Datenbank ist eine Objektdatenbank, in der Regel werden JavaScript-Objekte gespeichert, wobei einer der Eintr?ge als Schlüssel dient, über den die Daten wieder abgefragt werden k?nnen. Auch für andere Eintr?ge der gespeicherten Objekte k?nnen Indizes angelegt werden um eine effiziente Suche zu erm?glichen.
Der Zugriff auf die Datenbank erfolgt asynchron: Der Client stellt eine Anfrage und registriert Callback-Funktionen. Sobald das Ergebnis der Anfrage feststeht, wird er über entsprechende Ereignisse darüber informiert, dabei werden im Erfolgsfall die angefragten Daten mitgeliefert, im Falle eines Fehlers der Grund. Beim Zugriff werden Transaktionen eingesetzt um konsistente Daten auch dann zu gew?hrleisten, wenn beispielsweise durch zwei gleichzeitig ge?ffnete Tabs mehrere unabh?ngige Zugriffe auf die Datenbank erfolgen.
Implementierungen
[Bearbeiten | Quelltext bearbeiten]Die genaue Implementierung der Datenbank ist nicht festgelegt, es bietet sich jedoch ein B-Baum an. Alle modernen Browser unterstützen den Standard, da dieser jedoch laufend weiterentwickelt wird, nicht immer in der aktuellen Version. In den Browsern von Microsoft ist die Schnittstelle nur teilweise implementiert.[2] Bei ?lteren Browserversionen ist die API teilweise noch mit einem Herstellerpr?fix versehen.[3]
Alternativen
[Bearbeiten | Quelltext bearbeiten]Web Storage ist eine wesentlich einfachere Alternative zum Speichern von Daten. Diese bietet aber weniger Funktionen.
Ein alternativer Standard, der eine Datenbank zur Verfügung stellt, die sich über SQL abfragen l?sst, war die Web SQL Database. Dieser Standard wurde allerdings nur in wenigen Browsern implementiert, sodass seine Weiterentwicklung zu Gunsten der IndexedDB eingestellt wurde.[4]
Für ?ltere Browser kann die IndexedDB mittels Polyfills simuliert werden.[5]
Datenschutz und Privatsph?re
[Bearbeiten | Quelltext bearbeiten]Wie auch Web Storage erm?glicht diese dauerhafte Speicherung im Browser-Profil jeder Website, wiederkehrende Besuche vom selben Endger?t zu erkennen und unterschiedliche Nutzungsprofile zusammenzuführen.
Weblinks
[Bearbeiten | Quelltext bearbeiten]- Indexed Database API. w3.org, Offizielle Spezifikation
- IndexedDB API. MDN Web Docs (deutsch).
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ Raymond Camden: IndexedDB and Limits. In: raymondcamden.com. 17. April 2015, abgerufen am 29. M?rz 2017 (englisch).
- ↑ a b Gef?hrdeter Datenschutz: Firefox l?scht lokale Datenbanken nicht. In: heise Online. 19. September 2017, abgerufen am 2. Oktober 2017 (Gibt einen überblick über den Stand der Implementierungen der verschiedenen Browser).
- ↑ Can I use: IndexedDB. Abgerufen am 29. M?rz 2017 (englisch).
- ↑ Ian Hickson: Web SQL Database. Abgerufen am 29. M?rz 2017 (englisch).
- ↑ Parashuram Narasimhan: Using IndexedDB API today – the IndexedDB polyfills. In: Mozilla Hacks. 31. Juli 2012, abgerufen am 29. M?rz 2017 (englisch).