Код ошибки 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 за подсказку.