Für den speziellen Fall der SQL-Engine, die von der Seite bei W3Schools verwendet wird :
Safari-, Chrome- und Opera-Browser
Wenn Sie den Safari-Browser verwenden (ich habe ihn unter Mac OS X 10.12 getestet), verwendet die Seite SQLite, das anscheinend in den Browser selbst integriert ist. Wenn Sie die „Run SQL“ Taste drücken, es nicht jede externe Ressource verwenden. Weiteres Reverse Engineering zeigt, dass die Seite die Datenbank mithilfe des folgenden JavaScript-Codes initialisiert:
function w3WebSQLInit() {
var w3DBObj = this;
w3Database = window.openDatabase('W3SchoolsDemoDatabase', '1.0', 'W3SchoolsDemoDatabase', 2 * 1024 * 1024);
...
}
window.openDatabase
bedeutet, dass der Code eine Web SQL-Datenbank verwendet . Dies wurde vor einigen Jahren vom W3C definiert und von Opera, Safari und Chrome (AFAIK) in die Praxis umgesetzt, nicht jedoch von FireFox (oder Explorer). Alle drei Browser scheinen die "Web SQL-Datenbank" implementiert zu haben, indem sie verschiedene Versionen von SQLite in sich selbst eingebettet haben.
An dieser Stelle behauptet die W3C-Seite:
"Vorsicht. Diese Spezifikation befindet sich nicht mehr in der aktiven Wartung und die Arbeitsgruppe für Webanwendungen beabsichtigt nicht, sie weiter zu warten."
Ich habe einen Chrome- Browser (Version 56.0.2924.87 unter Windows 10) getestet und er scheint SQLite 3.10.2 zu verwenden. Opera (Version 12.15 unter Windows 10) verwendet SQLite 3.7.9.
Opera ist klar genug in ihrem "Über":
Das Programmierhandbuch für clientseitige Safari-Speicher- und Offline-Anwendungen erwähnt dies ebenfalls
Ab Safari 3.1 und iOS 2.0 unterstützt Safari die HTML5-JavaScript-Datenbankklasse. Die auf SQLite basierende JavaScript-Datenbankklasse bietet eine relationale Datenbank für die lokale Speicherung von Inhalten, die zu groß sind, um bequem in Cookies gespeichert zu werden (oder zu wichtig für das Risiko sind) versehentliches Löschen, wenn der Benutzer seine Cookies löscht).
Ich habe nicht in Chrome geschaut ... aber meine Vermutung ist klar.
Browser für FireFox, Edge und Internet Explore
Wenn Sie den FireFox-Browser verwenden (ich habe ihn unter Mac OS X 10.12 getestet); Dieselbe W3School-Seite verhält sich radikal anders. Die Abfragen werden nicht im Browser ausgeführt , sondern es werden Anforderungen an den Server gesendet . Auf der Serverseite denke ich, dass tatsächlich eine MS Access- Datenbank verwendet wird. Eine Möglichkeit, dies zu überprüfen, besteht darin, den (Standard) zu überprüfen information_schema
.
Wenn Sie die folgende Abfrage ausgeben (die in einer standardkonformen Datenbank die Liste der Tabellen enthält, auf die der Benutzer zugreifen kann):
SELECT * FROM information_schema.tables;
Sie erhalten die folgende (zu aussagekräftige) Fehlerantwort :
Could not find file 'C:\Windows\SysWOW64\inetsrv\information_schema.mdb'.
Wenn die Software nach einer MDB-Datei sucht, bedeutet dies, dass sie das Microsoft Jet-Datenbankmodul (oder etwas Ähnliches) auf der Serverseite verwendet und Dateien im Access .MDB-Format verwendet , die Access-Versionen bis und entsprechen einschließlich 2003. (Access 2007 und spätere Versionen verwenden standardmäßig Dateien im ACCDB-Format).
Microsoft Internet Explorer 11 verhält sich genauso (unter Windows 10). und Edge auch (unter Windows 10).