If you want to use keep alives and gzip and dont want to experience random time out errors unfortunately you cannot simply use one library.
On Android SDK versions below 9 you'll want to use the apache library. On Android SDK versions 9-13 the apache library has issues (random timeouts) and you'll want to use HttpUrlConnection.
Unfortunately in my tests on ICS HttpUrlConnection is really buggy and you'll want to use the Apache library for now.
Official Google Post on the topic:
http://android-developers.blogspot.com/2011/09/androids-http-clients.html
Issue i've found on ICS:
What android Http Client to use for Ice Cream Sandwich?