[
https://issues.apache.org/jira/browse/HTTPCORE-444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15849689#comment-15849689
]
Oleg Kalnichevski commented on HTTPCORE-444:
--------------------------------------------
Isaac,
>From the HTTP protocol standpoint there is no difference between plain
>connections or those with a transport security. The underlying transport
>security layer should have no bearing on HTTP connection persisitence of what
>so ever. What is different however is that termination of TLS secured
>connections involves a handshake on the TLS level prior to connection
>termination on the TCP/IP level. That basically means that TLS connections
>usually do not terminate immediately. If anything goes wrong during the final
>TLS handshake the connection can stay alive for some while (depending on many
>factors such as socket timeout and so on). So, at the moment I see no evidence
>of this being a defect in HttpCore.
Oleg
> When using HTTPS server with NoConnectionReuseStrategy, connections are not
> closed
> ----------------------------------------------------------------------------------
>
> Key: HTTPCORE-444
> URL: https://issues.apache.org/jira/browse/HTTPCORE-444
> Project: HttpComponents HttpCore
> Issue Type: Bug
> Components: HttpCore NIO
> Affects Versions: 4.4.6
> Reporter: Isaac Cruz Ballesteros
> Priority: Minor
>
> I have a HTTPS server using NIO, and configured with
> NoConnectionReuseStrategy so that connections are immediately closed after
> download. I'm extending AbstractHttpEntity and implementing
> HttpAsyncContentProducer to produce the content which will be sent in
> response to a GET. When all the content has been written in produceContent(),
> I call encoder.complete(). Basically a basic HTTPS server handling file
> downloads.
> When using plain HTTP, after all data has been sent,
> ConnectionReuseStrategy,keepAlive() gets called, it returns false and the
> connection is closed immediately from the server.
> But when using HTTPS, keepAlive() is called but it does not close the
> connection. I have been following the code from that point, setting a
> breakpoint in keepAlive(), and I have the impression that a new handshake is
> initiated (not 100% sure of this), sending some extra data which causes the
> client to send a RST instead of a FIN when closing connection.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]