У меня на сервере работает WebSocketServer, и веб-сайт пытается подключиться к нему и отправлять туда и обратно информацию.
Я заметил, что в WiFi он отлично работает во всех протестированных мною браузерах, но через Mobile Data Firefox. Я перехватил и отредактировал заголовки и сумел воспроизвести проблему. Firefox отправляет комбинированный заголовок Connection: keep-alive, Upgrade
в запросе. Chrome в сравнении просто отправляет Connection: Upgrade
. Моя теория состоит в том, что, когда запрос проходит через прокси-сервер поставщика мобильных данных, а также добавляет свои собственные идентифицирующие заголовки, он повторно анализирует все другие заголовки и не понимает объединенный заголовок. Это подтверждается тем фактом, что на стороне сервера запрос получен (от Firefox), но заголовок Connection
урезан до Connection: keep-alive
. Если я вручную удалю keep-alive
из заголовка Connection
с помощью программы перехвата, проблема будет решена.
Мне не нужна часть keep-alive
запроса (на самом деле, если бы я предпочел, чтобы он не был включен), поэтому я спрашиваю, есть ли способ остановить отправку Firefox без использования about: config и т. д. (например, в JS или HTML), поскольку я хотел бы, чтобы это работало для общего конечного пользователя.
Большое спасибо,
Ричард