Неожиданный код ответа 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