我已经用谷歌搜索505是“不支持HTTP版本”,但仍然无法弄清楚我的问题。 我有一个带Tomcat的Web应用程序,服务器端带有自签名证书以启用HTTPS,无需验证客户端。客户端将验证服务器证书。 我已经分析了wireshark数据包,看来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 -
答案 0 :(得分:16)
如果您在HTTP版本之后向Tomcat请求尾随空格(如您的示例中所示),则Tomcat将以505错误响应。在Tomcat 7.0.27上确认。
RFC 2616(HTTP 1.1)表示HTTP-Version
由"HTTP/" + digit + "." + digit
组成。请求行以" " + HTTP-Version + CRLF
结尾,这意味着在最后一个数字后不允许有空格。
参考文献:
答案 1 :(得分:5)
显然不是OP的答案,但我在尝试调试SOLR服务器时遇到了此错误消息。
我的问题不是HTTP版本之后的额外空间。
我的客户端应用程序正在记录错误的URL,我轻率地复制了这个URL。粘贴到SOLR tomcat的http端口的telnet连接。我的日志消息显示URL没有正确地%20编码URL中的空格。我得到了错误的HTTP版本错误,大概是因为它将URL中的空格后面的所有内容解释为我的HTTP版本。