HTTP 2 client API

Michael McMahon michael.x.mcmahon at oracle.com
Mon Mar 9 16:27:33 UTC 2015


Hi,

JEP 110 HTTP 2 client

in JDK 9, is defining and implementing a new API for HTTP which also 
supports
the new HTTP version 2 that has recently been working its way through 
the IETF.
The work also includes support for websockets (RFC 6455).

In fact, the majority of the API is agnostic about the HTTP protocol 
version, with only minor
configuration settings, and support for multiple responses (Http server 
push) having any direct impact.

The HTTP API is defined around three main types (HttpClient, which is 
the central
point for configuration of SSL, executor service cookie management etc), 
HttpRequest
and HttpResponse (which should be self explanatory).

Requests are sent/received either synchronously (blocking) or in a 
non-blocking (asynchronous)
mode using java.util.future.CompletableFuture which is a powerful new 
framework for
asynchronous execution introduced in JDK 8.

The API docs can be seen at the link below:

http://cr.openjdk.java.net/~michaelm/httpclient/01/

All new classes and interfaces belong to the java.net package.

A prototype implementation of this API supporting HTTP/1.1 only, is 
available and will
be uploaded into the JDK 9 sandbox forest in the coming day or two.

Comments welcome!

Thanks,
Michael.


More information about the net-dev mailing list