[RedHat企业Linux服务器.Java版本8. Jersey版本2.21.]
在泽西有没有办法使HTTPS客户端连接持久存在?
(我正在读取HTTPS连接是持久的,但这不是我在客户端看到的行为.)
我想创建一个连接,使用相同的连接POST一些消息,最后断开连接.我想保持连接打开,而不是在POST之间关闭.
我有以下java Jersey代码:
// target is WebTarget
Response resp = target.request(mediaType).header("Connection", "keep-alive").post(Entity.entity(message, mediaType));
for (i = 0; i < 5; i++) {
Thread.sleep(5000);
LogService.log(srcId, LogLevel.TRACE, "Sleeping...");
}
// log succeeded or failed message here
Run Code Online (Sandbox Code Playgroud)
在netstat中,我看到ESTABLISHED连接显示,保持6-8秒,然后消失.我希望它保持打开状态,因此下一个POST可以使用相同的连接而无需重新连接.
使用-Djavax.net.debug = all运行,我看到连接设置和POSTed数据:
... %% Cached client session: [Session-1, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256] [read] MD5 and SHA1 hashes: len = 16 ... Padded plaintext before ENCRYPTION: len = 288 ... 0010: 50 4F 53 54 20 2F 41 41 41 2F 4D 4E 4F …