hc-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Oleg Kalnichevski (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HTTPCORE-444) When using HTTPS server with NoConnectionReuseStrategy, connections are not closed
Date Thu, 02 Feb 2017 12:27:51 GMT

    [ https://issues.apache.org/jira/browse/HTTPCORE-444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15849858#comment-15849858
] 

Oleg Kalnichevski commented on HTTPCORE-444:
--------------------------------------------

There is nothing stopping you from setting a low timeout value from the connection re-use
strategy, is there? Alternatively you could sublclass the default connection implementation
and make its #close() method shut down the underlying I/O session instead of gracefully closing
it.

https://github.com/apache/httpcore/blob/4.4.x/httpcore-nio/src/main/java/org/apache/http/impl/nio/NHttpConnectionBase.java#L503

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


Mime
View raw message