應用層協議協商(Application-Layer Protocol Negotiation,簡稱ALPN)是一個傳輸層安全協議(TLS) 的擴展, ALPN 使得應用層可以協商在安全連接層之上使用什麼協議, 避免了額外的往返通訊, 並且獨立於應用層協議。 ALPN 用於 HTTP/2 連接, 和HTTP/1.x 相比, ALPN 的使用增強了網頁的壓縮率減少了網絡延時。 ALPN 和 HTTP/2 協議是伴隨着 Google 開發 SPDY 協議出現的。
Google Chrome從版本20(2012年)開始,使用早期的Next Protocol Negotiation(NPN)擴展的網站被禁用TLS False Start。[1]
支持
下列庫支持ALPN:
- GnuTLS從2013年5月發布的3.2.0版本開始。[2]
- MatrixSSL從2014年12月發布的3.7.1版本開始。[3]
- Network Security Services從2014年4月發布的3.15.5開始。[4]
- OpenSSL從2015年1月發布的1.0.2開始。[5]
- LibreSSL從2015年1月發布的2.1.3開始。[6]
- mbed TLS (previously PolarSSL)從2014年4月發布的1.3.6開始。[7]
- SChannel從8.1 / 2012 R2開始。
- s2n從它2015年6月發布之初支持。
- wolfSSL (formerly CyaSSL)從2015年10月發布的3.7.0開始。[8]
參考資料
外部連結
Wikiwand - on
Seamless Wikipedia browsing. On steroids.