2012-05-24 123 views
8

我已經用Google搜索了505是「HTTP版本不支持」,但仍然無法弄清我的問題。 我有一個Tomcat的web應用程序,服務器端使用自簽名證書來啓用HTTPS,而無需驗證客戶端。客戶端將驗證服務器證書。 我已經分析了wireshark包,看起來SSL握手是正確的。 但是當我檢查Tomcat localhost_access_log時,客戶端請求會出現505錯誤,服務器端也不會收到客戶端請求。 您能否提供一些幫助?HTTP錯誤代碼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

請求行中「HTTP/1.1」後面是否有空格?我想知道這是否會成爲問題。 –

+0

相關問題:[java.io.IOException:服務器返回HTTP響應代碼505](http://stackoverflow.com/questions/3625659/java-io-ioexception-server-returns-http-response-code-505) – sleske

回答

13

如果您到Tomcat的請求與HTTP版本後,尾隨空白(如你的例子),Tomcat將有505錯誤迴應。在Tomcat 7.0.27上確認。

RFC 2616(HTTP 1.1)表示HTTP版本由「HTTP /」+ digit +「。」組成。數字。請求行以「」+ HTTP-Version + CRLF結尾,這意味着不允許有空格。

參考文獻:

+0

是的,行尾有一個空格字符。我無法控制客戶端,但它適用於Tomcat5.5?如何處理這種情況? –

+0

看來我們的團隊在Tomcat5.5破解之前就這樣工作了,也許我需要再次破解Tomcat7來解決這個問題。非常感謝克里斯託弗舒爾茨〜 –

1

顯然不是答案的OP,但我遇到了此錯誤消息,今晚試圖調試SOLR服務器。

我的問題是HTTP版本後沒有額外的空間。

我的客戶端應用程序記錄了錯誤的URL,我很快將&複製到telnet連接到SOLR tomcat的http端口。我的日誌消息顯示URL沒有正確編碼%20編碼URL中的空間。我得到了錯誤的HTTP版本錯誤,大概是因爲它將URL中的空格之後的所有內容解釋爲我的HTTP版本。

感謝http://java.dzone.com/news/solr-tomcat-and-http11-505的提示。