Why Application-Layer Protocol Negotiation is Critical for HTTP/2 Backends

The Backend Engineering Show with Hussein Nasser

Episode | Podcast

Date: Sun, 06 Sep 2020 00:24:08 GMT

<p><a href="https://en.wikipedia.org/wiki/Application_layer"><strong>Application-Layer</strong></a><strong>&nbsp;Protocol Negotiation</strong>&nbsp;(<strong>ALPN</strong>) is a&nbsp;<a href="https://en.wikipedia.org/wiki/Transport_Layer_Security">Transport Layer Security</a>&nbsp;(TLS) extension that allows the application layer to negotiate which&nbsp;<a href="https://en.wikipedia.org/wiki/Communications_protocol">protocol</a>&nbsp;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&nbsp;<a href="https://en.wikipedia.org/wiki/HTTP/2">HTTP/2</a>&nbsp;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&nbsp;<a href="https://en.wikipedia.org/wiki/SPDY">SPDY</a>&nbsp;protocol.</p> <p><a href="https://en.wikipedia.org/wiki/Application-Layer_Protocol_Negotiation">https://en.wikipedia.org/wiki/Application-Layer_Protocol_Negotiation</a></p> <p>1:30 TCP Handshake</p> <p>1:40 TLS</p>