Запустить туннель бесплатно
☰
Что нового

Долгие ответы, SSE и WebSocket больше не рвутся через минуту

улучшеноисправленоклиентсервер

Скачивания, SSE и WebSocket через HTTP-туннель живут, пока идут данные, большая загрузка не тормозит соседние запросы, а инспектор не режет тела.

Раньше сервер обрывал HTTP-ответ через 30–60 секунд, даже если данные шли без остановки. Больше не обрывает. Туннель закрывает соединение, только если за две минуты по нему не прошло ни байта.

Улучшено

  • Большая загрузка больше не задерживает остальные запросы туннеля. Сервер отправляет каждый новый запрос через наименее занятое соединение клиента и передаёт данные порциями поменьше. Лента событий на странице не ждёт, пока в соседней вкладке докачается файл.
  • Один посетитель HTTP-туннеля может занять половину лимита запросов туннеля, а не десятую часть, как раньше. Страница dev-сервера, которая тянет сотни файлов, загружается без отказов.

Исправлено

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

Обновить клиент: fxtunnel update

@mephistofx

Пишу fxTunnel — туннели для разработчиков без белого IP. Рассказываю, как это устроено изнутри.

Написать в Telegram →