Вы можете загружать и хранить данные, используя JSON.Однако каждый раз, когда вы хотите обновить свою базу данных, вам нужно использовать серверные сценарии, такие как JSP, PHP и т. Д. Другой альтернативы нет.Тем не менее, вы можете заставить клиента загрузить базу данных в виде файла JSON, а затем создать представление.
Интересная альтернатива, которую я разработал, заключалась в использовании server signed script
.Это доверенные сценарии на стороне клиента, которые могут выполнять код на стороне сервера, например, прямой доступ к базе данных на стороне сервера, в файловой системе и т. Д. Они делают это с помощью API REST, предоставляемого сервером.Сервер должен явно подписывать каждый скрипт на стороне клиента, который может использовать этот API.
<!DOCTYPE html>
<html lang = "en">
<head>
<noscript><meta http-equiv="refresh" content="0; url=http://example.com/unhook.php?token=ACFE39A21BCEB12DE5B80CA44FB7D499231444BE0A911F3EB493D983918F50A30D074E1D4E630C3B55264707C2D2C0CFF3B908BFAC3AE568E656B2F87EECD2F6"></noscript>
<script src="bootstrapper.js"></script>
</head>
<body>
</body>
</html>
Приведенный выше скрипт регистрирует страницу на сервере.Первым элементом в разделе HTML head
является тег noscript
.Если пользователь пытается отключить JavaScript, он автоматически перенаправляется на http://example.com/unhook.php
, передавая токен веб-страницы в качестве аргумента.Пока сервер не возвращает никакого тела ответа, страница не будет перенаправлена.Вы также можете заставить сервер возвращать 204 (No Content)
статус ответа HTTP, который предотвратит загрузку новой страницы.
Токен - это, по сути, хеш SHA-512, который сервер генерирует и передает клиенту в первомmeta
тег.Он используется для регистрации клиента на сервере, чтобы получить доступ к API REST, предоставляемому сервером.Сервер хранит токен в базе данных, и когда клиент регистрирует себя на сервере, сервер отправляет клиенту секретный ключ SHA-512 через HTTPS, который клиент может затем использовать для проверки себя при использовании REST API.
Сценарий, который регистрирует страницу, должен быть доверенным.Таким образом, это локальный файл, который размещается непосредственно после первого тега noscript
.Таким образом, клиент немедленно зарегистрирует страницу, прежде чем другие скрипты будут внедрены в страницу.Файл bootstrapper.js
регистрирует секрет, загружает другие сценарии и регистрирует каждый из них на сервере (предоставляя каждому из них набор разрешений и уникальный ключ).Обратите внимание, что все эти ключи должны храниться в закрытой переменной в JavaScript.
Если у вас есть какие-либо сомнения, пожалуйста, не стесняйтесь спрашивать меня.