我必须在Java中实现一个HTTP客户端,并且为了我的需要,似乎最有效的方法是实现HTTP管道(根据RFC2616)。HTTP 1.1 Pipelining
另外,我想管道POST。 (另外我不是在谈论多路复用,我说的是流水线,即在接收任何响应 - 批量处理HTTP请求之前通过一个连接发出的许多请求)
我找不到明确指出它支持流水线的第三方库。但我可以使用例如Apache HTTPCore建立这样一个客户端,或者如果我必须,自己建立它。
我有的问题是,如果这是一个好主意。我还没有找到任何权威性的参考资料,指出HTTP流水线不仅仅是理论模型,而是由HTTP服务器正确实施。此外,所有支持流水线的浏览器都默认关闭此功能。
因此,我应该尝试实现这样一个客户端,否则由于服务器的实现(或代理服务器),我会遇到很多麻烦。有没有提供这些指导方针的参考?
如果这是一个坏主意,那么效率的替代编程模型是什么?单独的TCP连接?
不是你所需要的,但是serf是一个C库,它实现了HTTP管道http://code.google.com/p/serf/虽然我不是100%确定它是否支持管道化帖子。 – Rup 2010-07-21 10:32:42
谢谢,我必须在java – Cratylus 2010-07-21 10:39:52
@ user384706中做到这一点从来没有尝试过农奴,但如果确实做了你想要的,而其他一切都失败了,那么你总是可以尝试JNI/JNA。 – luiscubal 2010-07-21 11:49:20