Я реализую связь между серверами, которая должна (вероятно) выглядеть следующим образом:
клиент ( веб-браузер ) <-> ( веб-приложение ) сервер ( сервисный клиент ) <-> ( сервисное приложение ) центральный сервер
Некоторые клиентские запросы обрабатываются локально, а некоторые выполняются как вызовы удаленных служб (не RPC). Запрос к центральному серверу форматируется как HTTPS POST, а затем отправляется с использованием cURL; сервер отвечает соответствующим сообщением JSON.
Проблема в том, что я использую HTTPS, и для проверки сертификата требуется дополнительное время, каждый раз, когда выполняется сервисный запрос. Можно повторно использовать дескриптор cURL и отправлять заголовок соединения keep-alive, но ... В текущей реализации MVC каждый новый клиентский запрос приводит к новому экземпляру веб-приложения (и соответствующего сервисного клиента), то есть дескриптор повторно инициализируется и HTTPS-соединение устанавливается заново.
Итак, возникают следующие вопросы:
- Есть ли способ ускорить такие HTTPS-запросы? Например, как-нибудь обойти проверку после первого успешного подключения?
- Могу ли я отказаться от HTTPS (в частности, от длительной процедуры проверки сертификатов) и самостоятельно зашифровать / расшифровать POST и JSON (например, с помощью mcrypt) в сочетании с каким-либо методом авторизации (Диффи-Хеллман)?
- Я что-то делаю не так и должен немедленно прекратить?
Спасибо!