Для конкретного випадку двигуна SQL, який використовується сторінкою у W3Schools :
Браузери Safari, Chrome і Opera
Якщо ви використовуєте браузер Safari (я тестував на Mac OS X 10.12), сторінка використовує SQLite, який, здається, вбудований у сам браузер. Коли ви натискаєте кнопку "Запустити SQL", вона не використовує жодного зовнішнього ресурсу. Подальше зворотне проектування виявляє, що сторінка ініціалізує базу даних за допомогою наступного коду JavaScript:
function w3WebSQLInit() {
var w3DBObj = this;
w3Database = window.openDatabase('W3SchoolsDemoDatabase', '1.0', 'W3SchoolsDemoDatabase', 2 * 1024 * 1024);
...
}
window.openDatabase
означає, що в коді використовується база даних SQL Web . Це було визначено W3C кілька років тому, і на практиці його застосували Opera, Safari та Chrome (AFAIK), але не FireFox (або Explorer). Всі три браузери, схоже, реалізували "Веб-базу даних SQL", вставивши різні версії SQLite в себе.
На даний момент на сторінці W3C стверджується:
"Обережно. Ця специфікація більше не знаходиться в активному обслуговуванні, і Робоча група з веб-додатків не має наміру підтримувати її далі."
Я протестував браузер Chrome (версія 56.0.2924.87, в Windows 10), і, здається, використовується SQLite 3.10.2. Opera (версія 12.15, у Windows 10), використовує SQLite 3.7.9.
Опера досить чітка у своїх "про":
І посібник із програмування програм Safari для зберігання та офлайн-програм також відмічає це
Починаючи з Safari 3.1 та iOS 2.0, Safari підтримує клас бази даних HTML5 JavaScript Клас бази даних JavaScript, заснований на SQLite, забезпечує реляційну базу даних, призначену для локального зберігання вмісту, який є занадто великим, щоб зручно зберігати у файлах cookie (або занадто важливий для ризику випадкове видалення, коли користувач очищає свої файли cookie).
Я не заглядав у Chrome ... але моя здогадка зрозуміла.
Браузери FireFox, Edge та Internet
Якщо ви використовуєте браузер FireFox (я тестував на Mac OS X 10.12); та сама сторінка W3School поводиться докорінно по-іншому. Він не виконує запити в браузері , але надсилає запити на їх сервер . З боку сервера, я думаю, що насправді використовується база даних MS Access . Один із способів перевірити це - перевірити (стандарт) information_schema
.
Якщо ви подаєте наступний запит (який у базі даних, що відповідає стандартам, надає список таблиць, доступних користувачеві):
SELECT * FROM information_schema.tables;
Ви отримуєте таку (занадто показову) відповідь на помилку :
Could not find file 'C:\Windows\SysWOW64\inetsrv\information_schema.mdb'.
Якщо програмне забезпечення шукає файл .MDB, це означає, що вони використовують сервер бази даних Microsoft Jet (або щось еквівалентне) на стороні сервера, і вони використовують файли формату Access .MDB , які відповідають версіям Access до і включаючи 2003 р. (Access 2007 та новіші версії за замовчуванням використовують файли формату .ACCDB).
Microsoft Internet Explorer 11 поводиться так само (у Windows 10); і так само Edge (у Windows 10).