RFR: 8349910: Implement HTTP/3 for the HTTP Client API [v3]

Daniel Fuchs dfuchs at openjdk.org
Wed Apr 30 14:47:58 UTC 2025


On Wed, 30 Apr 2025 10:19:54 GMT, Daniel Fuchs <dfuchs at openjdk.org> wrote:

>> Hi,
>> 
>> Please find here a PR for the implementation of JEP [JDK-8291976: HTTP/3 for the HTTP Client API](https://bugs.openjdk.org/browse/JDK-8291976).
>> 
>> The CSR can be viewed at [JDK-8350588: Implement HTTP/3 for the HTTP Client API](https://bugs.openjdk.org/browse/JDK-8350588)
>> 
>> This JEP proposes to enhance the HttpClient implementation to support HTTP/3.
>> It adds a non-exposed / non-exported internal implementation of the QUIC protocol based on DatagramChannel and the SunJSSE SSLContext provider.
>
> Daniel Fuchs has updated the pull request with a new target base due to a merge or a rebase. The pull request now contains 411 commits:
> 
>  - merge latest changes from master branch
>  - http3: jep review feedback: rename HttpRequest.HttpRequestOption into top-level HttpOption. Http3DiscoveryMode is now an inner class in HttpOption. Improved protocol selection documentation in HttpClient class-level apiNote. Add links from Builder.version methods.
>  - merge latest changes from master branch
>  - http3: add missing <p> separator to Http3DiscoveryMode.ALT_SVC API documentation
>  - http3: improve documentation for Http3DiscoveryMode.ALT_SVC
>  - http3: Use AlgorithmConstraints and OCSP responses when validating server certificate during QUIC TLS handshake
>  - http3: Artur's review - use SecurityUtils.removeFromDisabledTlsAlgs() in test
>  - http3: minor improvement to log message
>  - http3: Artur's review - remove commented out code from test
>  - http3: Artur's review - make methods package private
>  - ... and 401 more: https://git.openjdk.org/jdk/compare/c2485d5f...dfa26044

The PR has been updated with the following API doc changes:

 1. rename HttpRequestOption into HttpOption and make it
    a top level class.
    
 2. move Http3DiscoveryMode as an inner class in HttpOption

 3. improve the paragraph that talks about version selection
    in the HttpClient class-level impl note.

 4. improve the API documentation of the various Builder.version
    and HttpClient.version methods, adding links to the above
    paragraph

The CSR has not been updated yet - but an API documentation of the `java.net.http` module including these changes can be seen [here](https://cr.openjdk.org/~dfuchs/8291976/apidoc.02/api/java.net.http/module-summary.html)

-------------

PR Comment: https://git.openjdk.org/jdk/pull/24751#issuecomment-2842231948


More information about the core-libs-dev mailing list