xhr через таймауты.
через xhr можно принимать почти всё.
ставить кукисы, принимать произвольные заголовки, принимать текст или json, блобы (например музыку в проигрыватель или видео)
JS как раз по минимуму - только отправить запрос,
если получил маркер "что-то новое", то обновить блок (заранее заданный или по имени из полученных данных)
всё это на нативном JS, несколько строк и без библиотек.