Per il caso specifico del motore SQL utilizzato dalla pagina di W3Schools :
Browser Safari, Chrome e Opera
Se si utilizza Safari Browser (ho testato su Mac OS X 10.12) la pagina utilizza SQLite, che sembra essere integrato nel browser stesso. Quando si preme il pulsante "Esegui SQL", non utilizza alcuna risorsa esterna. Ulteriore ingegneria inversa rivela che la pagina sta inizializzando il database mediante il seguente codice JavaScript:
function w3WebSQLInit() {
var w3DBObj = this;
w3Database = window.openDatabase('W3SchoolsDemoDatabase', '1.0', 'W3SchoolsDemoDatabase', 2 * 1024 * 1024);
...
}
window.openDatabase
indica che il codice utilizza un database SQL Web . Questo è stato definito dal W3C alcuni anni fa e messo in pratica da Opera, Safari e Chrome (AFAIK), ma non da FireFox (o Explorer). Tutti e tre i browser sembrano aver implementato il "Database SQL Web" incorporando diverse versioni di SQLite al loro interno.
A questo punto, la pagina del W3C afferma:
"Attenzione. Questa specifica non riguarda più la manutenzione attiva e il gruppo di lavoro sulle applicazioni Web non intende mantenerla ulteriormente."
Ho testato un browser Chrome (versione 56.0.2924.87, su Windows 10) e sembra utilizzare SQLite 3.10.2. Opera (versione 12.15, su Windows 10), utilizza SQLite 3.7.9.
Opera è abbastanza chiara nel loro "circa":
E Safari sul lato client di stoccaggio e Offline Applications Programming Guide menziona anche che
A partire da Safari 3.1 e iOS 2.0, Safari supporta la classe di database JavaScript HTML5 La classe di database JavaScript, basata su SQLite, fornisce un database relazionale inteso per l'archiviazione locale di contenuti che è troppo grande per essere memorizzato comodamente nei cookie (o è troppo importante per rischiare cancellazione accidentale quando l'utente cancella i suoi cookie).
Non ho esaminato Chrome ... ma la mia ipotesi è chiara.
FireFox, Edge e Internet Explore Browser
Se usi il browser FireFox (ho testato su Mac OS X 10.12); la stessa pagina di W3School si comporta in modo radicalmente diverso. Non esegue le query sul browser , ma invia richieste al loro server . Sul lato server, penso che stia effettivamente utilizzando un database simile a MS Access . Un modo per verificarlo è controllando (standard) information_schema
.
Se si emette la seguente query (che, in un database conforme agli standard, darebbe l'elenco di tabelle accessibili all'utente):
SELECT * FROM information_schema.tables;
Si ottiene la seguente (troppo significativa) risposta all'errore :
Could not find file 'C:\Windows\SysWOW64\inetsrv\information_schema.mdb'.
Se il software è alla ricerca di un file .MDB, significa che stanno utilizzando il Motore di database Microsoft Jet (o qualcosa di equivalente) sul lato server e stanno utilizzando i file di formato Access .MDB , che corrispondono alle versioni di Access fino a e incluso 2003. (Access 2007 e versioni successive utilizzano, per impostazione predefinita, file in formato .ACCDB).
Microsoft Internet Explorer 11 si comporta allo stesso modo (su Windows 10); e così fa Edge (su Windows 10).