Pour le cas spécifique du moteur SQL utilisé par la page de W3Schools :
Navigateurs Safari, Chrome et Opera
Si vous utilisez le navigateur Safari (j'ai testé sur Mac OS X 10.12), la page utilise SQLite, qui semble être intégré au navigateur lui-même. Lorsque vous appuyez sur le bouton "Exécuter SQL", il n'utilise aucune ressource externe. Une ingénierie inverse plus poussée révèle que la page initialise la base de données au moyen du code JavaScript suivant:
function w3WebSQLInit() {
var w3DBObj = this;
w3Database = window.openDatabase('W3SchoolsDemoDatabase', '1.0', 'W3SchoolsDemoDatabase', 2 * 1024 * 1024);
...
}
window.openDatabase
signifie que le code utilise une base de données Web SQL . Cela a été défini par le W3C il y a quelques années et mis en pratique par Opera, Safari et Chrome (AFAIK), mais pas par FireFox (ou Explorer). Les trois navigateurs semblent avoir implémenté la "base de données Web SQL" en incorporant différentes versions de SQLite en eux-mêmes.
À ce stade, la page W3C affirme:
"Attention. Cette spécification n'est plus en maintenance active et le groupe de travail sur les applications Web n'a pas l'intention de la maintenir plus loin."
J'ai testé un navigateur Chrome (version 56.0.2924.87, sur Windows 10), et il semble utiliser SQLite 3.10.2. Opera (version 12.15, sur Windows 10), utilise SQLite 3.7.9.
Opera est assez clair dans leur "à propos":
Et le Guide de programmation du stockage côté client et des applications hors ligne de Safari mentionne également que
À partir de Safari 3.1 et iOS 2.0, Safari prend en charge la classe de base de données JavaScript HTML5 La classe de base de données JavaScript, basée sur SQLite, fournit une base de données relationnelle destinée au stockage local de contenu qui est trop volumineux pour être stocké dans des cookies (ou est trop important pour risquer suppression accidentelle lorsque l'utilisateur efface ses cookies).
Je n'ai pas regardé dans Chrome ... mais ma supposition est claire.
Navigateurs FireFox, Edge et Internet Explore
Si vous utilisez le navigateur FireFox (j'ai testé sur Mac OS X 10.12); la même page W3School se comporte de manière radicalement différente. Il n'exécute pas les requêtes sur le navigateur , mais envoie des requêtes à leur serveur . Côté serveur, je pense qu'il utilise en fait une base de données MS Access . Une façon de le vérifier est de vérifier le (standard) information_schema
.
Si vous émettez la requête suivante (qui, dans une base de données conforme aux normes, donnerait la liste des tables accessibles à l'utilisateur):
SELECT * FROM information_schema.tables;
Vous obtenez la réponse d'erreur suivante (trop révélatrice) :
Could not find file 'C:\Windows\SysWOW64\inetsrv\information_schema.mdb'.
Si le logiciel recherche un fichier .MDB, cela signifie qu'ils utilisent le moteur de base de données Microsoft Jet (ou quelque chose d'équivalent) côté serveur et qu'ils utilisent des fichiers au format Access .MDB , qui correspondent aux versions d'Access jusqu'à et y compris 2003. (Access 2007 et versions ultérieures utilisent, par défaut, des fichiers au format .ACCDB).
Microsoft Internet Explorer 11 se comporte de la même manière (sous Windows 10); ainsi que Edge (sur Windows 10).