In der Ausgabe 5/2016 des JavaSPEKTRUM ist ein Artikel von Holisticon-Mitarbeiter Jan Weinschenker über die Implementierung von HTTP/2 in Java 9 erschienen.
Seit Mai 2015 ist HTTP/2, verabschiedet durch die IETF, der offizielle Nachfolger des Hyptertext Transfer Protokolls der Version 1.1. Die Standardisierung wurde in den RFC 7540 und 7541 festgeschrieben.
HTTP/2 ermöglicht eine effizientere Ausnutzung der Netzwerk-Ressourcen und soll außerdem die Netzwerk-Latenz reduzieren. Eine HTTP-Verbindung kann für mehrere Übertragungen wiederverwendet werden, was auch als Request/Responsemultiplexing bezeichnet wird. Weiterhin neu ist das Konzept des sogenannten Server-Push. Dabei kann der Server die Entscheidung treffen, dem Client Daten unverlangt zuzusenden, wenn ersterer der Ansicht ist, dass diese zukünftig notwendig sein werden. Zu guter Letzt können in HTTP/2 auch die Kopfdaten komprimiert werden, wodurch sich die übertragenen Datenmengen und die Protokoll-Umlaufzeiten weiter verringern.
In Java war man bisher auf Bibliotheken wie den freien Jetty-HTTP/2-Client [Jetty] angewiesen, um diese Vorteile nutzen zu können. Mit Java 9 wird die Unterstützung von HTTP/2 eine Kernfunktionalität. Dieser Artikel stellt die Implementierung im neuen JDK mithilfe kurzer Code-Beispiele vor. Letztere sind in einem Github-Projekt öffentlich verfügbar.
Die Ausgabe 5/2016 ist seit dem 16. September am Kiosk oder online verfügbar.