TNAT: У меня все отлично работает. Настроил через фильтр сетевых служб, а не через фильтр URL адресов. Если делать через фильтр URL адресов, то с HTTPS конечно работать не будет (об этом я выше писал). А при правильной настройке фильтра сетевых служб все отлично работает. Более того заблокировал доступ не только к самим сайтам соц сетей, но и даже к приложениям под Android (на iOS не проверял, но думаю там тоже все в порядке). А так же блокировка настроена для определенных клиентов. Так что все отлично работает :)
Запрос идет один, а ответа два. И да к стати, если сократить часть кода jquery или удалить его совсем, то все работает нормально. Но если запрашивать большие файлы, то происходит такое. Если подключать сначала script.js, а потом jquery.js, то опять же работает все нормально.
На сколько я знаю, сервер должен ответить заголовком Content-Type: text/event-stream и оставить соединение открытым. Этого достаточно для работы SSE. Сообщения отправляются в формате "data: (данные)\n\n". Все это реализовано и прекрасно работает, если раскомментировать setInterval.
Так если там вызвать response.end(), то это будет сигналом к окончанию и в дальнейшем нельзя будет писать данные. На счет остального - будет рефакторинг кода, сейчас сделано грубо т.к. на данный момент главная задача решить проблему с веб-сервером и нет смысла в лишнем коде. За пример спасибо.