2013-06-12 2 views
1

Я использую майку 1.7. Мой клиент взаимодействует с сервером через HTTPS. Я выяснил, что соединение HTTPS установлено для каждого запроса (URL). Я хотел бы поддерживать одно и то же соединение для нескольких запросов в течение определенного периода времени. Я настроить клиента, как это описывают в https://blogs.oracle.com/enterprisetechtips/entry/consuming_restful_web_services_with и отправить запрос через WebResource.BuilderКак предотвратить установление SSL-соединения по каждому запросу

public Response post(String actionName, Request request) { 
    WebResource webResource = rwsClient.resource(serverURL + actionName); 
    WebResource.Builder requestBuilder = webResource.accept(MediaType.APPLICATION_XML_TYPE); 
    Response response = requestBuilder.post(Request.class, request); 
    return response; 
} 

ответ

1

соединений из HTTP 1.1 запросы, которые считаются постоянными, если не указано иначе. Если ваш клиент делает запрос HTTP 1.0, он может передать заголовок «Connection: Keep-Alive»

Затем вы должны посмотреть настройки таймаута соединения на своих веб-серверах. Например, для Apache 2.2 он по умолчанию очень низкий, всего за 5 секунд. Проверьте документацию на веб-сервер.

+0

Благодарим вас за ответ. HTTP-соединение является постоянным. Когда я включил HTTPS, я вижу, что соединение установлено для каждого запроса. Конфигурация веб-сервера: Тайм-аут 300, KeepAlive On, MaxKeepAliveRequests 2000, KeepAliveTimeout 60. Есть ли что-то для постоянного соединения SSL? – Yulia

+0

Трудно устранить неполадки, поэтому вам понадобится системный администратор, чтобы посмотреть на пакеты/рукопожатия/и т. Д. Любой перерыв между вашим клиентом и сервером (например, балансировщик нагрузки) может быть настроен на быстрое удаление соединений ... – TheArchitect

Смежные вопросы