Код ошибки HTTP 505

Я уже googled, что 505 "HTTP-версия не поддерживается", но по-прежнему не может понять мою проблему. У меня есть веб-приложение с Tomcat, серверная сторона с самозаверяющим сертификатом для включения HTTPS, без проверки подлинности клиента. Клиент будет аутентифицировать сертификат сервера. Я анализирую пакет wirehark, кажется, что handshark SSL верен. Но когда я проверю Tomcat localhost_access_log, будет ошибка 505 для запроса клиента, а также серверная сторона не получит запрос клиента. Не могли бы вы посоветоваться с этим намеком?

172.25.21.113 - - [24/May/2012:16:28:26 +0800] "GET /updserver/update?action=signature_update&device_type=NGN&service_type=KAV&engine_ver=1.00&sig_ver=4.123&mac=0019CB72736E HTTP/1.1 " 505 -

Ответ 1

Если вы отправите запрос Tomcat с завершающими пробелами после версии HTTP (как в вашем примере), Tomcat ответит с ошибкой 505. Подтверждено на Tomcat 7.0.27.

RFC 2616 (HTTP 1.1) говорит, что HTTP-Version состоит из "HTTP/" + digit + "." + digit "HTTP/" + digit + "." + digit. Строка запроса заканчивается на " " + HTTP-Version + CRLF что означает, что после этой последней цифры пробелы не допускаются.

Рекомендации:

Ответ 2

Ясно, что не ответ для OP, но я столкнулся с этим сообщением об ошибке сегодня вечером, пытаясь отладить сервер SOLR.

Моя проблема не была лишним пробелом после версии HTTP.

мое клиентское приложение регистрировало неверный URL, который я безболезненно скопировал и вставил в telnet-соединение с http-портом SOLR tomcat. В моем сообщении журнала был указан URL без правильной кодировки %20 пробела в URL. Я получил ошибку неверной версии HTTP, предположительно потому, что она интерпретировала все, что было после пробела в URL, как мою версию HTTP.

спасибо http://java.dzone.com/news/solr-tomcat-and-http11-505 за подсказку.