Техника называется комета, или «серверный пуш»
В настоящее время существует 2 основных способа реализации кометы.
1) Как отметил Дэниел, длительный опрос, при котором вы можете использовать ajax, чтобы оставить зависший запрос браузеру, который не отправляет ответ обратно, пока сервер не решит (будь то на основе действий кого-то другого или другого серверное событие).
2) Второй подход, используемый Google, является потоковым. Это включает использование ajax, чтобы оставить зависший запрос, но ответ никогда не возвращается вам. Вместо этого сервер обновляет биты данных, и вы используете javascript для мониторинга изменений и запуска событий, основанных на добавляемых новых данных. В результате получается один очень длинный непрерывный поток данных, поступающий в документ, который никогда не закрывается, принимая новые данные, как они поступают.
HTML5 имеет спецификацию для более простого способа сделать это с помощью веб-сокетов. В будущем этот тип живого веб-приложения станет обычным явлением, поскольку веб-сокеты просты в использовании, но пока не поддерживаются во всех браузерах.
Если вы хотите создать сайт Comet для производства, вам необходимо использовать неблокирующий асинхронный сервер ввода-вывода, например, один из следующих.
http://www.tornadoweb.org/ - питон
http://nodejs.org/ - javascript на стороне сервера
- или Google для комет-серверов.
Вам нужно знать, как программировать приложения типа кометы на стороне сервера, поскольку javascript для Comet довольно прост, просто ваши обычные вызовы ajax с парой обработчиков событий.