$ java src/Fallback.java https://localhost:4433/hello 120 (server: h2 + h1.1 on TCP only; nothing listens on UDP 4433) request HTTP_3 (ANY) -> HTTP_2 after 3340 ms client HTTP_3 (ANY) -> HTTP_2 after 31 ms request HTTP_3_URI_ONLY -> java.net.ConnectException: No response from peer for 30 seconds after 60016 ms $ java -Djdk.httpclient.http3.maxDirectConnectionTimeout=1 src/Fallback.java https://localhost:4433/hello 120 (same server) request HTTP_3 (ANY) -> HTTP_2 after 501 ms client HTTP_3 (ANY) -> HTTP_2 after 45 ms request HTTP_3_URI_ONLY -> java.net.ConnectException: No response from peer for 30 seconds after 60016 ms $ java -Djdk.httpclient.quic.maxInitialTimeout=3 src/Fallback.java https://localhost:4433/hello 120 (same server) request HTTP_3 (ANY) -> HTTP_2 after 3338 ms client HTTP_3 (ANY) -> HTTP_2 after 39 ms request HTTP_3_URI_ONLY -> java.net.ConnectException: No response from peer for 3 seconds after 6011 ms $ java src/Discovery.java https://localhost:4433/hello (server: HTTP/1.1 only, TCP) ANY -> HTTP_1_1 HTTP_1_1 HTTP_1_1 HTTP_1_1 ALT_SVC -> HTTP_1_1 HTTP_1_1 HTTP_1_1 HTTP_1_1 HTTP_3_URI_ONLY -> ConnectException(No response from peer for 30 seconds) ConnectException(No response from peer for 30 seconds) ConnectException(No response from peer for 30 seconds) ConnectException(No response from peer for 30 seconds)