2026 年遠端 Mac 前端發布驗收:
HTTP/3 QUIC 與 Alt-Svc——Safari 與 Chromium 差異對照表及三步清單
適用對象:於 CDN/源站啟用 HTTP/3/QUIC 的前端與 SRE;若預發布僅 Linux Chromium,易漏 WebKit 對 Alt-Svc 與 UDP 的時序差。下文含對照表、三步門禁與可執行驗證。延伸:Vite/Webpack 部署與 Safari 驗證、trace/HAR 去敏摘要、Web Inspector 遠端聯調 FAQ。
01 為何 QUIC 上線常在驗收卡關
HTTP/3 走 QUIC(UDP)。常見局部啟用:面板顯示 h3,但 Alt-Svc 路徑 UDP 被擋、憑證與廣告主機不一致,或遷移與黏著衝突,使用者卡在 HTTP/2 重試迴圈。
請把 Alt-Svc 當對外契約(與 CORS、CSP 同級)。單一 Chromium 綠燈難覆蓋 Safari 的協商節奏與快取;以 遠端 Mac 並行真機簽核較穩。
發布工單建議註記:首屏關鍵請求預期路徑、QUIC 失敗時的可觀測指標,以及是否需 Apple Silicon 真機簽字與附件清單。
02 Safari 與 Chromium 對照表
下列矩陣可於 DNS/CDN 變更後複用;重點在何時嘗試 QUIC 與失敗如何呈現。
| 主題 | Safari/WebKit | Chromium |
|---|---|---|
| 首連線 | 多為 HTTP/2 先行,再依 Alt-Svc/HTTPS RR 嘗試 h3;WebKit 快取影響探測時點。 |
形狀類似;netlog 對 QUIC 重試較細,僅看 DevTools 易漏。 |
| Alt-Svc 解析 | 遵守 ma= 與權威;TTL 錯置時像「卡在 HTTP/2」。 |
類似;錯誤權威在 netlog 較明顯。 |
| UDP/中間盒 | Captive portal 或企業 Wi-Fi 常讓 QUIC 失敗;Safari 可能靜默降級,需抓包佐證。 | 痛點相同;無頭瀏覽器利於腳本,但無法取代真實漫遊網路。 |
| 開發者訊號 | Web Inspector 逐資源;疑 UDP 時加做 macOS 擷取。 | DevTools+netlog;有 CDN 請求 ID 更易對日誌。 |
| 0-RTT/early data | 綁定 Apple TLS;POST early data 預設不安全。 | 旋鈕多;重放常以間歇 4xx/5xx 呈現。 |
預發布與正式不一致時,先查分流路由與 DNS,再歸因 WebKit。
03 三步發布清單
- 凍結線路契約。主機名、QUIC 終止點、
Alt-Svc(含ma)、最低 TLS,以及須保留 HTTP/2 的 API 客戶端。 - 雙家族實機驗證。於 遠端 Mac 以清快取之 Safari/Chromium 開同一預發布網址,跑登入、上傳與 SW 殼層;逾
ma後重載確認重新探索。 - 附上機器證據。工單附去敏 HAR/netlog、
curl -v與 UDP 抓包備註,利於值班前滾或回滾。
請與建置產物與 Safari 驗證步驟(見上文延伸連結)併跑;傳輸層同樣屬於對使用者的合約。
04 可執行驗證與抓包思路
請在與 QA 相同的 Wi-Fi 設定檔執行並去敏機密;附件命名與裁剪請依上文延伸之 trace/HAR 摘要慣例處理。
- ▸TLS ALPN 探測:
openssl s_client -connect HOST:443 -servername HOST -alpn h2,h3— 確認輸出中的ALPN protocol是否含h3(與邊緣廣告一致)。 - ▸回應標頭:
curl -sSIv --http2 https://HOST/看Alt-Svc;再以支援 HTTP/3 的組建跑curl --http3-only -sSIv https://HOST/(或--http3,依curl -V)。 - ▸比較 h2/h3:
curl -w '\nhttp_code:%{http_code} time_namelookup:%{time_namelookup} time_connect:%{time_connect} time_appconnect:%{time_appconnect} time_starttransfer:%{time_starttransfer} time_total:%{time_total}\n' -o /dev/null -sS URL;清快取後各協定跑兩輪。 - ▸UDP 健全性:載入時
sudo tcpdump -ni en0 host ORIGIN_IP and udp port 443(介面依實機調整);宣稱 h3 卻無 QUIC 封包則升級網路/CDN 排查。 - ▸Safari:以 Web Inspector 看瀑布與協定欄;UDP 可疑時搭配 macOS「無線診斷」封包記錄;遠端目標連線方式見上文 Web Inspector FAQ 連結。
僅在指標顯示使用者未困在 HTTP/2 重試迴圈時,才可把 QUIC 失敗稱為「優雅降級」。
05 FAQ
只靠 Alt-Svc 就等於啟用 HTTP/3 嗎?
它只廣告可嘗試 h3 的位置。用戶端仍須完成 QUIC 交握並信任該路徑憑證。ma 錯誤、SNI 不符或 UDP 被過濾都會造成靜默退回——請用工具量測。
為何預發布上 Safari 與 Chromium 結果不同?
快取、旗標、DNS 與重試排程各異;請測冷/暖啟動並於 TTL 後複驗。
curl 能取代瀏覽器 QA 嗎?
可驗證邊緣契約與標頭形狀,無法覆蓋 Cookie、Service Worker 或混合內容細節;兩層都要納入範圍。
遠端 Mac 在流程中扮演什麼角色?
真機 Safari 與 shell 工具同機,省跨區寄送;依建置 SHA 封存抓包與截圖即可。