Ответ 1
Это зависит от браузера. "По умолчанию Internet Explorer имеет значение KeepAliveTimeout в одну минуту и дополнительный ограничивающий фактор (ServerInfoTimeout) в течение двух минут. Любой параметр может привести к тому, что Internet Explorer будет reset сокет." - от поддержки IE http://support.microsoft.com/kb/813827
В Firefox примерно такое же значение, как я думаю.
Обычно, если таймаут сервера установлен ниже тайм-аутов браузера, но, по крайней мере, вы можете управлять этим и устанавливать его выше.
Вы предпочитаете использовать тайм-аут, так что таким образом вы можете действовать на такое событие. Смотрите эту тему: Как определить тайм-аут в вызове AJAX (XmlHttpRequest) в браузере?