Solr, Tomcat and HTTP/1.1 505 HTTP Version Not Supported
Join the DZone community and get the full member experience.Join For Free
During today’s hacking aboot I came across the above error from our Solr query library. The error indicates that some part of Tomcat was unable to parse the “GET / HTTP/1.1″ string – where it is unable to determine the “HTTP/1.1″ part. A problem like this could be introduced by having a space in the query string (and it not being escaped properly), so that the request would have been for “GET /?a=b c HTTP/1.1″. After running through both the working and non-working query through ngrep and wireshark, this did however not seem to be the problem. My spaces were properly escaped using plus signs (GET /?a=b+c HTTP/1.1).
There does however seem to be a problem (at least with our version of Tomcat – 6.0.20) which results in the +-s being resolved before the request is handed off to the code that attempts to parse the header, so even though it is properly escaped using “+”, it still barfs.
Use %20 to escape spaces instead of + signs; simply adding str_replace(” “, “%20″, ..); in our query layer solved the problem.
Published at DZone with permission of Mats Lindh, DZone MVB. See the original article here.
Opinions expressed by DZone contributors are their own.
Decoding eBPF Observability: How eBPF Transforms Observability as We Know It
Front-End: Cache Strategies You Should Know
13 Impressive Ways To Improve the Developer’s Experience by Using AI
How Web3 Is Driving Social and Financial Empowerment