RFR: 8368695: Support 101 switching protocol in jdk.httpserver [v5]
Michael McMahon
michaelm at openjdk.org
Wed Oct 15 16:12:52 UTC 2025
On Wed, 15 Oct 2025 15:42:44 GMT, Daniel Fuchs <dfuchs at openjdk.org> wrote:
> > > Sending a 101 response to a request from the client to upgrade to some other protocol has the effect of detaching
> > > the underlying connection from the HTTP stack.
> >
> >
> > Isn't the behavior the same as with regular chunked encoding? Do we need a note for that as well? In both cases we aren't exactly passing a reference to the raw streams.
>
> Well - no. The connection will be reused for the next request when the chunked streams are closed.
>
Chunked encoding does not expose the "raw" socket either. There is a framing structure (though primitive)
associated with each chunk.
> > > Closing the exchange after {@code
> > > sendResponseHeaders(101, -1)} has been called has no effect on these streams.
> >
> >
> > Doesn't closing the exchange call close on both the input/output stream?
>
> We may need to link back to the upgrade paragraph in `HttpExchange::close`. Good remark. The notion of "HTTP exchange" doesn't really make sense after the protocol is upgraded. That is - the HTTP/1.1 exchange should be considered closed as soon as the upgrade is effective.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/27751#issuecomment-3407248358
More information about the net-dev
mailing list