We have a system that makes calls to a web service across a proxy. This is coded in C#, using HttpWebRequest. We've had problems with the speed of these calls for a long time, and I'd been trying to track it down. An unrelated conversation led to one of the operations guys to mention that the port we had been going over used firewall software that had a less-than-optimal (read: buggy) implementation for porting HTTP 1.1 calls. Sure enough, I dropped the web request to use HTTP 1.0 instead of 1.1, and the speed instantly doubled. We had already disabled keep-alive because it was just too shaky.
So, question: for the short-term, are there any variables other than keep-alive and the HTTP version that could possibly further boost speed by changing aspects of the HttpWebRequest call? I guess it's hard to tell without knowing the ins and outs of the firewall software, which I don't yet.
More importantly, they have a newer version of the software on a different port that apparently is much, much better and supports HTTP 1.1 fully. Should I expect a significant increase to response time by switching to HTTP 1.1 and keep-alives?