HTTP/2

Definition

HTTP/2 (earlier called "HTTP/2.0") is a new version of the HTTP protocol. It is specified in a standard that was published as RFC 7540 in May 2015. As of October 2018 30% of all websites surveyed by W3Techs use HTTP/2.

Client

Since cURL got HTTP/2 support after 7.43.0 (with the nghttp2 library), the HTTP/2 protocol can be used in Tcl through TclCurl.

An implementation of HTTP/2 in Tcl is provided by the www package by Schelte Bron. This package implements HTTP 1.1, HTTP/2, and WebSocket. It also takes care of redirects, retries, cookies, and proxies.

Server

Apache version 2.4.17 introduced HTTP/2 support. Starting from Apache 2.4.27, the Apache MPM (Multi-Processing Module) prefork no longer supports HTTP/2. Apache Rivet 3.0.0 support threaded MPMs such as mod_mpm_worker and mod_mpm_event. So you can use Apache/mod_http2 (after 2.4.27) and work with Apache Rivet (after 3.0.0).

See Also