Slavenin999
@Slavenin999
программист php/erlang/elixir/js

[Web Sockets] Mozilla после handshake отправляет запрос в новом подключении. Что ей ответить?

Доброго времени суток!

Сегодня столкнулся с проблемой. Есть сервер, который обрабатывает подключения через web sockets. При установке соединения мозила делает два запроса, первый это собственно handshake, сервер ей отвечает, а вот дальше она зачем-то закрывает текущее подключение, открывает новое и шлёт туда вот такое: 63f1b2437c9e4fcfb7d7a85c5ab745bf.png и всё бы ничего, если всё происходило в рамках одного подключения. Но нет, она его закрывает и открывает новое. Соответственно определить что это за ерунда пришла и откуда никак. Хром таким не страдает. Кто знает зачем мозила делает такую вещь? Я что-то упустил в протоколе?

Запросы:
[{<<"Host">>,<<"host.ru:111">>},
  {<<"User-Agent">>,
   <<"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0">>},
  {<<"Accept">>,
   <<"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8">>},
  {<<"Accept-Language">>,<<"ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3">>},
  {<<"Accept-Encoding">>,<<"gzip, deflate">>},
  {<<"Sec-WebSocket-Version">>,<<"13">>},
  {<<"Origin">>,<<"http://host2.ru">>},
  {<<"Sec-WebSocket-Extensions">>,<<"permessage-deflate">>},
  {<<"Sec-WebSocket-Key">>,<<"IsoYCcUHGPU/+m1A72/Mxw==">>},
  {<<"Cookie">>,
   <<"">>},
  {<<"Connection">>,<<"keep-alive, Upgrade">>},
  {<<"Pragma">>,<<"no-cache">>},
  {<<"Cache-Control">>,<<"no-cache">>},
  {<<"Upgrade">>,<<"websocket">>}]


ответ сервера: <<"HTTP/1.1 101 Switching Protocols\r\nUpgrade: WebSocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: Cv69Tz3lk8p3p6vGupJIE+pS7ws=\r\n\r\n">>

После этого мозила открывает новое соединение и шлёт туда:
[{<<"Host">>,<<"host.ru:111">>},
  {<<"User-Agent">>,
   <<"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:41.0) Gecko/20100101 Firefox/41.0">>},
  {<<"Accept">>,
   <<"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8">>},
  {<<"Accept-Language">>,<<"ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3">>},
  {<<"Accept-Encoding">>,<<"gzip, deflate">>},
  {<<"Referer">>,<<"http://host2.ru/">>},
  {<<"Cookie">>,
   <<"">>},
  {<<"Connection">>,<<"keep-alive">>}]
  • Вопрос задан
  • 206 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы