#android #ssl #mobile #https #httpclient
#Android #ssl #Мобильный #https #httpclient
Вопрос:
У меня есть приложение, которое выполняет многочисленные вызовы веб-служб REST, которые я написал. Я вообще заметил, что при добавлении SSL время выполнения веб-вызовов составляло от <1 секунды до ~ 3 секунд. Это нормально при добавлении SSL? Я измерил время, используя Droid, HTC Thunderbolt и Samsung Tablet (все на Verizon).
Что действительно БЕЗУМНО: при использовании телефона в сети TMobile (Comet и Nexus) те же вызовы (через HTTPs) занимают 30-40 секунд каждый. Если я удалю SSL, те же вызовы будут занимать <1 секунды, как и на других устройствах. Есть какие-либо подсказки относительно того, почему у SSL на устройствах TMobile возникают эти проблемы? Я в тупике?
Код:
String url = BASE_URL path;
HttpClient httpclient = new DefaultHttpClient();
httpclient.getParams().setParameter("http.socket.timeout", new Integer(30000));
httpclient.getParams().setParameter("setSocketBufferSize", 8192);
HttpPost httppost = new HttpPost(url);
httppost.addHeader("Content-Type", "text/json");
InputStream istream = null;
try {
httppost.setEntity(new StringEntity(request.toString()));
HttpResponse response = httpclient.execute(httppost);
istream = response.getEntity().getContent();
String result = IOUtils.toString(istream);
...
Комментарии:
1. Из-за вычислительной мощности у любого мобильного устройства могут возникнуть проблемы с HTTPS. Протокол HTTPS намного дороже, чем «традиционный» HTTP.
2. Я не думаю, что это проблема, потому что, если я подключу Comet и Nexus к своей сети Wi-Fi, время обработки веб-вызовов HTTPS будет таким же, как и на других устройствах (~ 3 секунды). Итак, очевидно, что только в сети TMobile это занимает 30-40 секунд.
3. Вы не можете сравнить Wifi (WLAN) с GPRS / UMTS. Задержка в сети UMTS составляет около 500 мсек и даже хуже; WLAN работает намного быстрее. Это сильно влияет на время установления связи SSL / TLS.
4. Мой вопрос в том, почему вызов HTTPS в сетях Sprint, Verizon или AT amp; T занимает 3 секунды, а на TMobile Comet или Nexus — 30-40 секунд?