Веб-приложение получает HTTP-запрос от браузера пользователя. Он содержит информацию о сеансе, так что (например) корзина покупок или состояние онлайн-игры могут быть сохранены между этими запросами.
Пользователь склонен оставлять сеанс браузера активным, когда он идет на обед, на день домой или уходит на двухнедельный отпуск. Следовательно, сеансы обычно имеют некоторое время ожидания бездействия, в противном случае у вас останется много серверных ресурсов, используемых пользователями, которые не возвращаются в ближайшее время.
Шаблон сердцебиения, описанный здесь использует Ajax (асинхронные) вызовы, чтобы сообщить серверу, что пользователь все еще здесь. Это может быть полезно, потому что многофункциональные интернет-приложения часто допускают локальную работу до того, как новые запросы отправляются на сервер - поэтому существует опасность истечения времени ожидания сеансов, пока пользователь счастливо использует приложение.
Реализация должна быть разумной. Например, если вы будете просто отправлять ajax-вызов на сервер каждые тридцать секунд, говоря «Да, все еще здесь», это будет продолжаться, пока пользователь находится в двухнедельном отпуске. Поэтому вместо этого сердцебиение будет отправлено только тогда, когда пользователь активно использует приложение.
Вполне может быть целесообразным «добавить» полезную информацию в запросы и ответы пульса, например, отправить данные автосохранения на сервер или получить обновленную информацию о сервере или «новости».