Быстрое выполнение нескольких запросов SSL в Python 2.x - PullRequest
3 голосов
/ 03 апреля 2012

У меня есть программа на Python, которая должна выполнять большую часть HTTPS-связи со сторонним сервером на другом конце света.

Каждый раз, когда программа хочет связаться с этим сервером, она запускает новый HTTPS-запрос.

Я пришел к выводу, что это очень неэффективно, потому что тогда SSL-рукопожатие нужно делать каждый раз, что требует много циклических переходов, которые очень дороги из-за того, что мы находимся далеко от сервера.

Есть ли способ сделать последующие HTTPS-запросы быстрыми после первого? (Я не знаю много о SSL, и я не знаю, означает ли это, что соединения остаются живыми или что-то еще.)

(Одна вещь, которую я увидел, могла бы помочь ssl.SSLContext, но она доступна только в Python 3.2, пока мы работаем с Python 2.7.)

1 Ответ

0 голосов
/ 04 апреля 2012

Я не знаю специфики, но на ум приходят две мысли:

1) Вы можете просто выполнять каждое соединение на другом процессоре, параллельно, используя многопроцессорность или даже многопоточность. Так что рукопожатия SSL все еще медленны, но это не так важно, потому что они выполняются параллельно.

2) Вы можете убедиться, что используете HTTP / 1.1, а не HTTP / 1.0; предположительно, последнее позволяет повторно использовать соединения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...