URLConnection - это абстрактный класс, представляющий любое соединение с URL-адресом.
HttpURLConnecton - это URLConnection (подкласс) и предлагает больше методов.
При этом можно открытьURL с протоколом HTTP и присвойте возвращаемое значение URLConnection, но вам не хватит более специфических методов.
Вы можете открыть URL для ресурса ftp или что-нибудь еще и назначить результат дляURLConnection, но он может не поддерживать базовый протокол.Например, поддержка FTP очень ограничена.
См. Документацию для URL.openConnection () :
Если для протокола URL (например, HTTP илиJAR), существует открытый, специализированный подкласс URLConnection, принадлежащий одному из следующих пакетов или одному из их подпакетов: java.lang, java.io, java.util, java.net, возвращаемое соединение будет из этого подкласса.Например, для HTTP будет возвращено HttpURLConnection, а для JAR будет возвращено JarURLConnection.
Итак, да, используйте HttpURLConnection для HTTP-соединения и любого специального специализированного URLConnection или используйте необработанный URLConnectionиначе.Это, как говорится, зависит от того, с каким протоколом вы хотите работать - вам может понадобиться более полный клиент для любого нетривиального протокола.