Ответ: ДА
Быстрее вытащить из хостинга S3, запущенного CloudFront и использующего GZip. В файле размером 1,5 МБ производительность повысилась с 12 до 4 секунд. Вот код, который я написал для этой цели:
void getFile(String remoteUrl) throws Exception {
URL url = new URL(remoteUrl);
HttpsURLConnection con = (HttpsURLConnection)url.openConnection();
con.setRequestProperty("Accept-Encoding", "gzip");
BufferedInputStream bis;
if ("gzip".equals(con.getContentEncoding())) {
bis = new BufferedInputStream(new GZIPInputStream(con.getInputStream()));
}
else {
bis = new BufferedInputStream(con.getInputStream());
}
String getPath = url.getPath();
String fileName = "/tmp/"+getPath.substring(getPath.lastIndexOf('/') + 1);
BufferedOutputStream out = new BufferedOutputStream(new FileOutputStream(fileName));
byte[] buff = new byte[16 * 1024];
int len;
while ((len = bis.read(buff)) > 0)
out.write(buff, 0, len);
bis.close();
out.close();
}
Надеюсь, это поможет кому-то еще.
Cliff