HttpClient的几个实现类

时间:2021-07-17 11:31:50

DefaultHttpClient
最基本的HttpClient实现

org.apache.http.impl.client.DefaultHttpClient占用内存23字节

第一次初始化的时候需要200ms左右。以后再初始化几乎不要时间。

所以以后,完全可以在每一个方法里面写一个new DefaultHttpClient(),作为局部变量,没必要让它作为成员变量或者静态变量。

SystemDefaultHttpClient
DefaultHttpClient的子类,采用了连接池,并根据系统配置,设置成是否保持连接keepAlive

AutoRetryHttpClient
顾名思义,如果服务不可用,就尝试等待几秒后,再次请求,可参考ServiceUnavailableRetryStrategy

CachingHttpClient
这个有点复杂,还没看

DecompressingHttpClient
有时候response的实体是压缩过的,这个类通过两个拦截器来解压。个人觉得把拦截器直接加到拦截栈更科学。