HTTP/2 is the evolution of the world's most successful application layer protocol, HTTP. It focuses on making more efficient use of network resources. It does not change the fundamentals of HTTP, the semantics.
A very good introduction to HTTP/2 is http2 explained by Daniel Stenberg. But ashort summary:
Both synchronous/blocking tasks and asynchronous task are supported.
The following HTTP authenticationa> methods are supported:
Encrypted HTTP using Transport Layer Security (TLS) is supported using the Java 11 platform?s built-in TLS implementation
Many Cipher suites are supported. See Java Security Standard Algorithm Names for Ciper Suite names to be used.
The following response content encodings are supported:
Brotli is a modern compression algorithm which can provide even better text compression results than gzip and is supported by latest versions of most browsers and web servers.
Both HTTP and Socks proxies are supported.
Multi Part request bodies (RFC 2387) are supported.
In addition to standard WebSocket support (RFC 6455) the WebSocket tasks honors one extension "permessage-deflate" and four parameters, "client_max_window_bits", "client_no_context_takeover", "server_max_window_bits", and "server_no_context_takeover" as described by RFC 7692. This allows compression of the payload of a message using the deflate algorithm.
By default the HTTP request header: "Sec-WebSocket-Extensions: permessage-deflate" is added to support compression. Minimum outbound WebSocket message size (in bytes) that will be compressed is 1024 bytes.
WebSocket heartbeat ping messages can be sent automatically by specifying the Ping Interval parameter in HttpWebSocketInitTask. Explicit ping messages can be sent with the HttpWebSocketPingTask. Incoming ping messages are always automatically answered with a pong.