The change to the java.net.ssl package in the Java 9 platform is that it now supports the TLS ALPN extension. Key benefits of this change are:
- TLS clients and servers can now use multiple application-layer protocols, which may or may not use the same transport-layer port
- The ALPN extension permits clients to prioritize application-layer protocols it supports
- Servers can select a client protocol and for the TLS connection
- Supports HTTP/2
The following illustration was previously presented as the five basic steps to TLS handshakes. Updated for Java 9 and presented here, the illustration indicates where the protocol names are shared between the client and server:
Once the client's list of application layer ...