[ 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