AndroidHttpClient и DefaultHttpClient

Существует ли большая разница между этими двумя и какая из них предпочтительнее использовать?

Solutions Collecting From Web of "AndroidHttpClient и DefaultHttpClient"

AndroidHttpClient : подкласс Apache DefaultHttpClient который настроен с разумными настройками по умолчанию и зарегистрированными схемами для Android, а также позволяет пользователю добавлять классы HttpRequestInterceptor . Этот клиент обрабатывает файлы cookie, но не сохраняет их по умолчанию. Чтобы сохранить файлы cookie, просто добавьте хранилище cookie в HttpContext

[ API ]

Основываясь на исходном коде Android:

https://github.com/CyanogenMod/android_frameworks_base/blob/gingerbread/core/java/android/net/http/AndroidHttpClient.java#L106

AndroidHttpClient настроен на выполнение следующих дополнительных настроек:

  1. Отключите устаревшую проверку, так как соединения могут прерываться все время.
  2. Установите ConnectionTimeout и SoTimeout (20 или 60 секунд)
  3. Отключить перенаправление.
  4. Используйте кеш сеанса для сокетов SSL.
  5. Используйте gzip сжатый трафик между клиентом и сервером, если это возможно.
  6. Не сохраняет файлы cookie по умолчанию.

Это интересное сообщение в блоге от разработчика Android дает обзор различных HTTP-клиентов Android.

Согласно этому сообщению, URLConnection должно быть предпочтительнее, чем DefaultHttpClient или AndroidHttpClient на Gingerbread и выше.