curl / Mailing Lists / curl-library / Single Mail
Buy commercial curl support from WolfSSL. We help you work out your issues, debug your libcurl applications, use the API, port to new platforms, add new features and more. With a team lead by the curl founder himself.

Time to deprecate NPN

From: Daniel Stenberg via curl-library <>
Date: Wed, 16 Feb 2022 11:25:11 +0100 (CET)


I propose we make selecting NPN a no-op starting in August 2022 [1]

Next Protocol Negotiation (NPN) is a TLS extension that was created and used
for agreeing to use the SPDY protocol (the precursor to HTTP/2) for HTTPS. In
the early days of HTTP/2, before the spec was finalized and shipped, the
protocol could be enabled using this extension with some servers.

curl supports the NPN extension with some TLS backends since then, with a
command line option `--npn` and in libcurl with `CURLOPT_SSL_ENABLE_NPN`.

HTTP/2 proper is made to use the ALPN (Application-Layer Protocol Negotiation)
extension and the NPN extension has no purposes anymore. The HTTP/2 spec was
published in May 2015.

Today, use of NPN in the wild should be extremely rare and most likely totally
extinct. Chrome removed NPN support in Chrome 51, shipped in
June 2016. Removed in Firefox 53, April 2017.

[1] =

  | Commercial curl support up to 24x7 is available!
  | Private help, bug fixes, support, ports, new features
Received on 2022-02-16