2013-06-12 35 views
1

我使用球衣1.7。我的客戶端通過HTTPS與服務器通信。我發現每個不同的請求(URL)都建立了HTTPS連接。我想在特定的時間段內爲多個請求保持相同的連接。我配置客戶端,因爲它是描述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請求,他們可以通過標題「連接:保持活躍」

然後,您必須查看Web服務器的連接超時設置。例如,對於Apache 2.2來說,默認情況下,它只有5秒很低。檢查您的Web服務器文檔。

+0

謝謝你的回答。 HTTP連接是持久的。當我打開HTTPS時,我發現每個請求都建立了連接。 Web服務器配置如下:Timeout 300,KeepAlive On,MaxKeepAliveRequests 2000,KeepAliveTimeout 60.是否缺少持久SSL連接? – Yulia

+0

這很難排除故障,所以你需要一個系統管理員來查看數據包/握手/等等。您的客戶端和服務器(如負載均衡器)之間的任何跳都可以配置爲快速斷開連接。 – TheArchitect