У меня есть приложение Rails, реализующее игру, поэтому ожидается, что игрок оставит браузер открытым на странице игры. Когда игрок Алан сам выполняет действие, я использую запросы AJAX, чтобы обновить страницу игры, которую Алан просматривает, чтобы отразить новое состояние. Однако, когда другой игрок (Боб) предпринимает какое-либо действие, у меня нет (или я не хочу) механизма, чтобы подтолкнуть изменение к представлению Алана.
Я бы хотел, чтобы страница Алана периодически опрашивала сервер Rails, чтобы выяснить, были ли какие-либо изменения с момента последней перезагрузки, и перезагрузить страницу (с помощью GET или вызова AJAX на целую страницу), если нет. Чтобы хорошо играть с кешами и прокси-серверами, я хотел бы сделать это, выполняя периодический HTTP-запрос HEAD, заставляя Rails определять временную метку последнего изменения (тривиально доступную из моей БД) и отвечая таковой в Последнем - Модифицированный заголовок; затем сделайте так, чтобы клиентская сторона действовала на этой отметке времени.
Как я могу это сделать?