應用層協定協商
應用層協定協商(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]
參考資料
編輯- ^ 1.0 1.1 Langley, Adam.
- ^ "gnutls 3.2.0" (頁面存檔備份,存於互聯網檔案館).
- ^ "MatrixSSL - News" 互聯網檔案館的存檔,存檔日期2015-02-14.. 2014-12-04.
- ^ "NSS 3.15.5 release notes" Archive.is的存檔,存檔日期2015-01-26.
- ^ "OpenSSL 1.0.2 release notes" (頁面存檔備份,存於互聯網檔案館).
- ^ "LibreSSL 2.1.3 released" (頁面存檔備份,存於互聯網檔案館). 2015-01-22.
- ^ "Download overview - PolarSSL" (頁面存檔備份,存於互聯網檔案館). 2014-04-11.
- ^ "wolfSSL Release Change Log" (頁面存檔備份,存於互聯網檔案館). 2015-10-26.
外部連結
編輯- draft-agl-tls-nextprotoneg-04 (NPN draft) (頁面存檔備份,存於互聯網檔案館)
- RFC 7301 "Transport Layer Security (TLS) Application-Layer Protocol Negotiation Extension"
- 談談 HTTP/2 的協定協商機制 (頁面存檔備份,存於互聯網檔案館) (簡體中文)