2026 Acceptation front sur Mac distant :
HTTP/3 QUIC et Alt-Svc — tableau Safari vs Chromium et checklist en trois étapes
Public : équipes qui activent HTTP/3 / QUIC derrière CDN ou origines. Si la recette ne voit que Chromium, vous ratez le timing Alt-Svc WebKit et l’UDP sous Safari. Matrice, porte en trois étapes, commandes. Enchaînements : déploiement Vite/Webpack + Safari, HAR / traces, FAQ Web Inspector.
01 Pourquoi les bascules QUIC échouent en recette
HTTP/3 repose sur QUIC (UDP). Les échecs d’acceptation sont souvent des demi-mesures : h3 affiché alors qu’Alt-Svc cible un UDP bloqué, un certificat hors SNI, ou des sessions collantes qui cassent avec la migration.
Traitez Alt-Svc comme une API publique (comme CORS ou CSP). Sans Safari réel, vous ne voyez pas les mêmes délais et caches qu’en production Apple — d’où l’intérêt d’un Mac distant pour un forfait co-débogage Safari avant gel de release.
02 Tableau Safari / WebKit vs Chromium
À réexécuter après DNS ou CDN. Les écarts concernent surtout quand QUIC part et comment l’échec se lit dans les outils.
| Sujet | Safari / WebKit | Chromium |
|---|---|---|
| Premier vol | Souvent HTTP/2 puis h3 via Alt-Svc / HTTPS RR ; caches WebKit = timing de sonde. |
Même schéma ; netlog détaille les relances QUIC. |
| Alt-Svc | ma= + autorité ; TTL long après mauvaise rotation ⇒ « collé » HTTP/2. |
Pareil ; erreurs d’autorité visibles dans netlog, pas toujours dans l’UI. |
| UDP | Portail captif : repli silencieux — capture obligatoire. | Même risque ; headless ≠ Wi-Fi réel. |
| Outils | Web Inspector + capture macOS si UDP douteux. | DevTools + netlog + IDs CDN. |
| 0-RTT | Pile TLS Apple : POST early data = à prouver. | Plus de leviers ; symptômes = 4xx/5xx intermittents. |
Écart préprod/prod : vérifier d’abord le routage scindé.
03 Checklist d’acceptation en trois étapes
- Contrat filaire. Hôtes, terminaison QUIC CDN vs origine,
Alt-Svc(h3="autorité:port"; ma=…), TLS minimal, HTTP/2 conservé pour clients sans QUIC. - Deux moteurs sur matériel réel. Sur Mac distant : Safari + Chromium, caches froids, auth / upload / service worker, puis reload après
ma. - Preuves. HAR ou netlog anonymisés,
curl -v, note capture UDP dans le ticket.
Combiner avec déploiement + vérif Safari : le transport est contractuel.
04 Commandes et pistes de capture exécutables
Même Wi-Fi que la recette ; redacter secrets. Artefacts : hygiène HAR / trace.
- ▸ALPN :
openssl s_client -connect HÔTE:443 -servername HÔTE -alpn h2,h3→ ligneALPN protocolavech3. - ▸En-têtes :
curl -sSIv --http2 https://HÔTE/puis build QUIC :curl --http3-only -sSIv https://HÔTE/(ou--http3; voircurl -V/ nghttp3). - ▸Timings :
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×2 par protocole. - ▸UDP :
sudo tcpdump -ni en0 host IP_ORIGINE and udp port 443pendant chargement — pas de QUIC visible ⇒ réseau/CDN. - ▸Safari : Web Inspector + capture ; FAQ Inspector pour cibles distantes.
« Repli gracieux » seulement si les métriques excluent les boucles HTTP/2.
05 FAQ
Est-ce qu’Alt-Svc suffit à activer HTTP/3 ?
Non : annonce h3, mais QUIC + certificat doivent réussir ; sinon repli silencieux (ma, SNI, UDP).
Pourquoi Safari et Chromium divergent en préproduction ?
Caches, flags, DNS, délais de retry. Sessions froides/chaudes + re-test après TTL.
curl remplace-t-il la QA navigateur pour QUIC ?
Contrat bord seulement ; pas cookies / SW / mixte — combiner.
Où le Mac distant s’insère-t-il ?
Safari réel + shell SRE ; artefacts par SHA à côté de la fumée.
Forfait visa HTTP/3 : Safari réel sur Mac loué
Safari + Chromium sur Apple Silicon, curl et captures UDP, tickets refermés sans envoyer de portable. Pages publiques sans compte : tarifs, aide, achat / location — puis fenêtre validation QUIC + co-débogage Safari.