Неожиданный код ответа 426

Я использую Tomcat websockets и он работает нормально во всех браузерах, кроме Safari, где выдает ошибку "Неожиданный код ответа 426".
Я прошел через веб-инспектора и попытался найти его в Google, чтобы найти решение этой проблемы.
Но не нашел никакого решения.
Я использую Safari 5.1.7. Любая помощь будет принята с благодарностью.
Заранее спасибо

1 ответ

Решение

Код ответа 426 при обновлении подходит для случаев, когда ваш клиент websocket не соответствует стандарту WebSocket RFC-6455.

Смотри раздел 4.2.2. Отправка начального рукопожатия сервера. http://tools.ietf.org/html/rfc6455

   /version/
      The |Sec-WebSocket-Version| header field in the client's
      handshake includes the version of the WebSocket Protocol with
      which the client is attempting to communicate.  If this
      version does not match a version understood by the server, the
      server MUST abort the WebSocket handshake described in this
      section and instead send an appropriate HTTP error code (such
      as 426 Upgrade Required) and a |Sec-WebSocket-Version| header
      field indicating the version(s) the server is capable of
      understanding.

Что происходит, так это то, что Safari 5.x использует не окончательную спецификацию WebSocket, а скорее предварительную экспериментальную черновую версию, которую tomcat не поддерживает должным образом. Немногие производственные серверы делают больше.

Для получения дополнительной информации см. Какие браузеры поддерживают HTML5 WebSocket API? и http://caniuse.com/websockets

Другие вопросы по тегам