Đối với trường hợp cụ thể của công cụ SQL được sử dụng bởi trang tại W3Schools :
Trình duyệt Safari, Chrome và Opera
Nếu bạn sử dụng Trình duyệt Safari (tôi đã thử nghiệm trên Mac OS X 10.12), trang đang sử dụng SQLite, dường như được tích hợp vào chính trình duyệt. Khi bạn nhấn nút "Chạy SQL", nó không sử dụng bất kỳ tài nguyên bên ngoài nào. Kỹ thuật đảo ngược tiếp tục cho thấy trang đang khởi tạo cơ sở dữ liệu bằng mã JavaScript sau:
function w3WebSQLInit() {
var w3DBObj = this;
w3Database = window.openDatabase('W3SchoolsDemoDatabase', '1.0', 'W3SchoolsDemoDatabase', 2 * 1024 * 1024);
...
}
window.openDatabase
có nghĩa là mã đang sử dụng Cơ sở dữ liệu Web SQL . Điều này đã được W3C định nghĩa vài năm trước và được Opera, Safari và Chrome (AFAIK) đưa vào thực tế, nhưng không phải bởi FireFox (hoặc Explorer). Tất cả ba trình duyệt dường như đã triển khai "Cơ sở dữ liệu SQL Web" bằng cách nhúng các phiên bản SQLite khác nhau vào trong chúng.
Tại thời điểm này, trang W3C tuyên bố:
"Coi chừng. Thông số kỹ thuật này không còn được bảo trì tích cực và Nhóm làm việc về ứng dụng web không có ý định duy trì nó thêm nữa."
Tôi đã thử nghiệm trình duyệt Chrome (phiên bản 56.0.2924.87, trên Windows 10) và dường như nó sử dụng SQLite 3.10.2. Opera (phiên bản 12.15, trên Windows 10), sử dụng SQLite 3.7.9.
Opera đủ rõ ràng trong "về" của họ:
Và Hướng dẫn lập trình ứng dụng ngoại tuyến và lưu trữ phía máy khách Safari cũng đề cập rằng
Bắt đầu từ Safari 3.1 và iOS 2.0, Safari hỗ trợ lớp cơ sở dữ liệu JavaScript HTML5 Lớp cơ sở dữ liệu JavaScript, dựa trên SQLite, cung cấp cơ sở dữ liệu quan hệ dành cho lưu trữ nội dung quá lớn để lưu trữ cookie một cách thuận tiện (hoặc quá quan trọng để có thể gặp rủi ro vô tình xóa khi người dùng xóa cookie của mình).
Tôi đã không nhìn vào Chrome ... nhưng tôi đoán là rõ ràng.
FireFox, Edge và Internet Khám phá trình duyệt
Nếu bạn sử dụng trình duyệt FireFox (tôi đã thử nghiệm trên Mac OS X 10.12); cùng một trang W3School hoạt động theo một cách hoàn toàn khác. Nó không thực hiện các truy vấn trên trình duyệt , nhưng gửi yêu cầu đến máy chủ của họ . Về phía máy chủ, tôi nghĩ rằng nó thực sự đang sử dụng cơ sở dữ liệu giống như MS Access . Một cách để kiểm tra nó là bằng cách kiểm tra (tiêu chuẩn) information_schema
.
Nếu bạn đưa ra truy vấn sau (trong cơ sở dữ liệu tuân thủ tiêu chuẩn sẽ cung cấp danh sách các bảng có thể truy cập được cho người dùng):
SELECT * FROM information_schema.tables;
Bạn nhận được phản hồi lỗi (quá nói) sau đây :
Could not find file 'C:\Windows\SysWOW64\inetsrv\information_schema.mdb'.
Nếu phần mềm đang tìm kiếm tệp .MDB, điều đó có nghĩa là họ đang sử dụng Microsoft Jet Database Engine (hoặc một cái gì đó tương đương) ở phía máy chủ và họ đang sử dụng các tệp định dạng Access .MDB , tương ứng với các phiên bản Access lên đến và bao gồm 2003. (Theo mặc định, truy cập 2007 và các phiên bản mới hơn sử dụng các tệp định dạng .ACCDB).
Microsoft Internet Explorer 11 hoạt động theo cùng một cách (trên Windows 10); và Edge cũng vậy (trên Windows 10).