Долгие ответы, SSE и WebSocket больше не рвутся через минуту
улучшеноисправленоклиентсервер
Скачивания, SSE и WebSocket через HTTP-туннель живут, пока идут данные, большая загрузка не тормозит соседние запросы, а инспектор не режет тела.
Раньше сервер обрывал HTTP-ответ через 30–60 секунд, даже если данные шли без остановки. Больше не обрывает. Туннель закрывает соединение, только если за две минуты по нему не прошло ни байта.
Улучшено
- Большая загрузка больше не задерживает остальные запросы туннеля. Сервер отправляет каждый новый запрос через наименее занятое соединение клиента и передаёт данные порциями поменьше. Лента событий на странице не ждёт, пока в соседней вкладке докачается файл.
- Один посетитель HTTP-туннеля может занять половину лимита запросов туннеля, а не десятую часть, как раньше. Страница dev-сервера, которая тянет сотни файлов, загружается без отказов.
Исправлено
- Server-Sent Events, долгие скачивания и WebSocket обрывались через 30–60 секунд после начала. Теперь соединение живёт, пока по нему что-то идёт. У WebSocket считаются обе стороны, так что соединение, где пишет только сервер, тоже не закрывается. Как поднять WebSocket-приложение через туннель, рассказываем в отдельной статье.
- TCP-клиент, который отправил запрос и закрыл свою сторону на запись, так и не получал ответа: туннель рвал соединение в обе стороны. Теперь каждое направление закрывается отдельно. Ответ доходит.
- С включённым инспектором тело запроса или ответа больше 10 МБ обрезалось, а потоковый ответ приходил посетителю только целиком. Теперь тело проходит сразу и полностью, а инспектор сохраняет его начало. Про работу с инспектором читайте в статье про отладку запросов.
Обновить клиент: fxtunnel update