Chrome將於5月底升級至第51版,屆時大部分使用者將不能使用HTTP/2
早在去年8月,Chromium專案已經決定開始廢棄的NPN協商協議(一個傳輸層安全協議擴充套件協議)。即將在5月31日釋出的Chrome 51穩定版本中,NPN協商協議將被正式廢除,僅支援ALPN協商協議。也就是說,所有目前基於NPN協商協議的HTTP/2協議都將無法使用,並被降級到HTTP/1.1。
\\這對於客戶端來說沒有太大影響,但是對於希望使用HTTP/2協議的服務端,將NPN升級到ALPN,並不是一件容易的事情,OpenSSL至少需要升級到1.0.2版本才可以支援ALPN。
\\下表是常見伺服器作業系統版本中自帶的OpenSSL版本:
\\作業系統 | OpenSSL版本 |
CentOS 5 | 0.9.8e |
CentOS 6 | 1.0.1e |
CentOS 7 | 1.0.1e |
Ubuntu 14.04 LTS | 1.0.1f |
Ubuntu 16.04 LTS | 1.0.2g |
Debian 7 (Wheezy) | 1.0.1e |
Debian 8 (Jessie) | 1.0.1k |
從上表可以看出,目前常用的伺服器版本中,預設OpenSSL為1.0.2的只有Ubuntu 16.04 LTS。其他版本如果要升級OpenSSL版本,成本非常高,因為有很多包依賴OpenSSL,這些包都需要重新打包並進行測試。另一方面,OpenSSL 1.0.1的支援到2016年12月31日就將結束。
\\在一個傳統搭建LAMP(Linux、Apache、MySQL、PHP)伺服器上,通常會依賴OpenSSL庫的軟體有:
\\$ lsof | grep libssl | awk '{print $1}' | sort | uniq\anvil\fail2ban\gdbus\gmain\httpd\postfix\mysqld\NetworkManager\nginx\php-fpm\puppet\sshd\sudo\tuned\zabbix_agent\\
也就是說,如果系統的OpenSSL版本升級,這些包都需要重新打包,如果有API不相容的地方,升級成本將會更高。
\\在Chrome 51穩定版之前,以下示例的協商結果會使用HTTP/2協議:
\\coolex ~ # nghttp -v -n https://ma.ttias.be\[ 0.252] Connected\[ 0.507][NPN] server offers:\ * h2\ * http/1.1\The negotiated protocol: h2\\
但是升級之後,由於NPN協商邏輯已經廢棄,Chrome將無法協商獲取伺服器支援HTTP/2協議,進而降級成HTTP/1.1協議。
\\對於該問題,目前來看最簡單的方式,是將應用執行到諸如Docker等的容器中。
\\感謝劉振濤對本文的審校。
\\給InfoQ中文站投稿或者參與內容翻譯工作,請郵件至editors@cn.infoq.com。也歡迎大家通過新浪微博(@InfoQ,@丁曉昀),微信(微訊號:InfoQChina)關注我們。
相關文章
- 第27屆日本IT周春季展將於5月在東京舉辦
- CMR:3/5的印度高階智慧手機使用者將升級到5G
- Ask.com:46%的iPhone使用者將立刻升級iPhone5S/5CiPhone
- 微軟將再次向Win7使用者推送升級通知 提示使用者升級win10微軟Win7Win10
- 使用 .NET 升級助手將.NET Framework應用遷移到.NET 5Framework
- chrome升級後audio不能播放解決Chrome
- Google Chrome 將增加對 HTTP Exchanges 的支援GoChromeHTTP
- Chitika:60%的iPhone使用者升級至iOS 6iPhoneiOS
- 傳iPhone 6s將升級至2GB RAM並配備蘋果SIM卡iPhone蘋果
- Win11舊版將會受到時間影響!微軟:請使用者們立即升級否則將會被重啟微軟
- HTTP/2 即將釋出HTTP
- Filecoin資訊:Filecoin網路將升級至Lotus v1.2.0版本
- Piper Jaffray:使用者因等待5G機型而不願升級至iPhone 11iPhone
- 如何將webpack2專案升級到webpack3Web
- 微軟官方升級工具Win10易升可將系統升級至創意者更新15063正式版微軟Win10
- 將網站應用從 HTTP 協議免費升級到 HTTPS網站HTTP協議
- [譯] Angular 2 VS. React: 血色將至AngularReact
- LONAP:英國升級iOS 8使用者至寬頻流量上漲60%iOS
- AI 金秋將至AI
- 5月第2周業務風控關注 | 等保2.0將於5月13日正式釋出
- 施密特:Google成功源於將使用者利益置於首位Go
- Win10升級提醒惹怒使用者 微軟將採取更溫和的推送策略Win10微軟
- ORACLE 10gR2 RAC升級至10.2.0.4Oracle 10g
- 特斯拉3月底將推入門級Model 3 向絲靠攏
- NCF 中如何將Function升級到FunctionRenderFunction
- Linux核心C語言將升級LinuxC語言
- 定投第2天:關於比特幣的認知升級比特幣
- 升級nginx以支援http2的方法NginxHTTP
- 怎樣把網站升級到http/2網站HTTP
- 關閉chrome自動升級的教程 chrome如何取消自動升級Chrome
- 魅藍/魅藍Note將於6月升級安卓5.0系統安卓
- MongoDB 3.2 升級至 3.4.6MongoDB
- Twitter API升級至1.1API
- realme開年越級大作,真我GT Neo5將於2月9日釋出
- 小米2/2S即將升級安卓5.0 MIUI6明日下午推送安卓UI
- Android之父即將公佈自制新手機,將在月底釋出Android
- eMarketer:中國智慧手機使用者量將超5億
- 如何將 Ubuntu 版本升級到新版本Ubuntu