應用層協定協商

應用層協定協商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 NegotiationNPN)擴充的網站被禁用TLS False Start。[1]

NPN已被重製的版本替代——即ALPN。[1]2014年7月11日,ALPN被發布為RFC 7301

支援

下列庫支援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]

參考資料

外部連結