Application-Layer Protocol Negotiation (ALPN) is a Transport Layer Security (TLS) extension for application layer protocol negotiation. ALPN allows the application layer to negotiate which protocol should be performed over a secure connection in a manner that avoids additional round trips and which is independent of the application layer protocols. It is needed by secure HTTP/2 connections, which improves the compression of web pages and reduces their latency compared to HTTP/1.x. The ALPN and HTTP/2 standards emerged from development work done by Google on the now withdrawn SPDY protocol.
1 Support 2 History 3 References 4 External links
Support ALPN is supported by these libraries.
On July 11, 2014, ALPN was published as RFC 7301. ALPN replaces NPN
TLS False Start was disabled in
^ "gnutls 3.2.0". Retrieved 2015-01-26.
MatrixSSL - News". 2014-12-04. Archived from the original on
2015-02-14. Retrieved 2015-01-26.
^ "NSS 3.15.5 release notes". Mozilla Developer Network. Mozilla.
Wikimedia Commons has media related to SSL and TLS.
draft-agl-tls-nextprotoneg-04 (NPN draft) (last updated: May 2012) RFC 7301 " Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension"
v t e
TLS and SSL
Protocols and technologies
Transport Layer Security / Secure Sockets Layer (TLS/SSL)
Transport Layer Security (DTLS)
Server Name Indication (SNI)
Application-Layer Protocol Negotiation (ALPN)
DNS-based Authentication of Named Entities (DANE)
DNS Certification Authority Authorization (CAA)
HTTP Strict Transport Security
Automated Certificate Management Environment (ACME)
Export of cryptography from the United States Server-Gated Cryptography
Bouncy Castle BoringSSL Botan cryptlib GnuTLS JSSE LibreSSL MatrixSSL mbed TLS NSS OpenSSL RSA BSAFE S2n SChannel SSLeay stunnel wolfSSL
Man-in-the-middle attack Padding oracle attack
Bar mitzvah attack
This computer networking article is a stub. You can help by expanding it.