<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">Hi,<div><br></div><div>According to RFC 9113 which obsoletes 7540, the Http2 upgrade mechanism over non-SSL has been deprecated (for a variety of reasons). See <a href="https://www.rfc-editor.org/rfc/rfc9113.html#section-3.1">https://www.rfc-editor.org/rfc/rfc9113.html#section-3.1</a></div><div><div><br></div><div>The problem is that the JDK HttpClient only supports upgrade attempts over non-SSL, and has no support for “http2 using prior knowledge”. See <a href="https://www.rfc-editor.org/rfc/rfc9113.html#section-3.3">https://www.rfc-editor.org/rfc/rfc9113.html#section-3.3</a></div><div><br></div><div>This is against JEP 110 <a href="https://openjdk.org/jeps/110">https://openjdk.org/jeps/110</a> which forms the basis of HttpClient, where it states: </div><div><br></div><ul style="margin-top: 0ex; margin-bottom: 0ex; margin-right: 2em; padding-left: 2em; list-style-type: square; caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0); font-family: "DejaVu Sans", "Bitstream Vera Sans", "Luxi Sans", Verdana, Arial, Helvetica; font-size: 13.333333px;"><li style="margin-top: 0pt; margin-bottom: 0pt;"><p style="padding: 0pt; margin: 1ex 0em;">Must be able to negotiate an upgrade from 1.1 to 2 (or not), or select 2 from the start.</p></li></ul><div><br></div><div>The latter half of this addresses the “http2 with prior knowledge” portion of the specification. The current behavior is not compliant with RFC 9113.</div><div><br></div><div><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);">Are there plans to address this? Is there an outstanding bug I could work on?</span></div></div><div><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);"><br></span></div><div><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);">Thanks,</span></div><div><span style="caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);">Robert Engels</span></div></body></html>