歷時兩年、11個子任務收官:Go 語言正式將 HTTP/2 迎回標準庫
Tony Bai 深度拆解 Go 語言歷時兩年將 HTTP/2 回歸標準庫核心的大型存量系統重构實踐。
隨著 Go 1.27 的正式發布,長達十年的 HTTP/2「寄養架構」終於走入歷史,官方實現從外部的 golang.org/x/net/http2 正式搬入標準庫 net/http/internal/http2。
• 過去十年中,標準庫與外部模組分離的架構帶來了安全修補困難、版本發布無法同步以及設定 API 綁定等三大痛點。
• Go 核心團隊透過追蹤 Issue #67810 將這項大型重構拆解為 11 個獨立子任務,分階段逐步推進,展現了教科書級別的工程管理範本。
• 新版本中引入了全新的 HTTP/2 配置 API 與協定版本選擇 API,讓開發者無需額外依賴就能原生設定參數並啟用未加密的 h2c。
• 原先的外部模組 x/net/http2 角色已徹底反轉,轉為對舊版本的相容薄殼與轉發層。
「先讓 x/net/http2 裡每一個非廢弃功能,在別處都能找到,並使標準庫成為唯一的真源。」 • 對於一般開發者而言,絕大多數現有程式碼可直接相容,且安全漏洞的修復週期將變得更為即時高效。
來源:Tony Bai
閱讀原文 ↗