Сделать сервер, который на запрос «GET /presence?id=» уходит в спячку (принимает соединение, но не даёт ответа). Когда страница закрывается, броузер должен закрыть висящий сокет со своей стороны, что вызовет исключение на сервере. Это будет сигналом, что клиентская страница закрыта.