Im Archakov: ну poll соединений он сам выбирает взять доступное соединение и если таковых нет откроет новое, но если будет лимит открытых соединений просто будет ждать, а это не есть хорошо для асинхронных операций, в любом проекте стоит использовал poll-ы даже в консольных. Благодаря этому не будет строится очередь на запрос в соединении.
Dark Hole: всё просто у array function нету контекста выполнения и по этому она наследует его от родителя, тем самым избегая того что setInterval установит для this глобальную область видимости или с 'use strict' undefined
mak_ufo: ну можно сделать блочную структуру сайта, если вход происходит через AJAX то можно просто менять блок авторизации с нужной информацией. Проще с запроса получить данные скажем redirect, messages, content и уже с ними работать на фронтеде. Я больше люблю Full AJAX разработки и могу больше поделится опытом если требуется.