Можно ли отправить дополнительные данные, прикрепленные к ответу http, через Java или Php?
Мой веб-сайт представляет собой платформу для домашних заданий: один пользователь вводит домашние задания в базу данных, и все пользователи могут видеть домашние задания на веб-сайте. Текущая загрузка очень неэффективна, так как браузер делает два запроса на загрузку: один для файла индекса и один для домашней работы. Для запроса домашней работы клиент также отправляет настройки пользователя на сервер, на основании которого возвращенные домашние работы генерируются скриптом Php.
Интересно, если это возможно, объединить эти два запроса в один? Возможно ли обнаружить http-запрос с помощью Java или Php на сервере, прочитать cookie-файлы (где сохранены настройки), затем получить домашнюю работу из базы данных и отправить данные, прикрепленные к http-ответу, клиенту? Или, что еще лучше, сначала верните только индексный файл и, как можно скорее, данные домашней работы, а затем второй ответ, потому что клиенту нужно некоторое время для анализа Html. & создайте DOM-дерево, когда оно все равно не может показать домашние задания.
Просматривая веб-страницы, я наткнулся на такие термины, как «Рендеринг на стороне сервера» и «SPDY», но я не знаю, являются ли они правильной отправной точкой.
Любая помощь очень ценится, так как лично я очень заинтересован в решении, и это значительно улучшит время загрузки моего сайта.
Простое решение вашей проблемы — инициализация ваших данных в индексном файле.
Вы должны создать объект javascript и внедрить его прямо в html, отображаемый вашим сервером. Вы можете поместить этот объект в глобальное пространство имен (например, в window.initData), чтобы к нему мог обращаться код из вашего скрипта.
<scipt>
window.initData = {
someVariable: 23,
}; // you could use json_encode if you use php, or Jackson if you use java
</script>
Тем не менее, это не большая проблема, если ваши данные выбираются в отдельном запросе к серверу. Особенно когда требуется больше времени для извлечения данных из базы данных / веб-сервисов, вы можете обеспечить лучший пользовательский опыт, сначала очень быстро извлекая статический контент и отображая счетчик, пока загружаются (более медленные) данные.
Других решений пока нет …