[ 
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: dev-unsubscr...@hc.apache.org
For additional commands, e-mail: dev-h...@hc.apache.org

Reply via email to