Servieren statische Vermögenswerte als Build-Time brotli

Performancekamo-marketing
Shipped
20. August 2026 um 21:34 UTC
Author
Kamo
Commit
977c49a

Der markierte Brocken ist Reaktionsdom, und ich habe ihn vor dem Abschluss richtig überprüft alles: es ist die Produktion bauen (keine dev Marker, und die Profiling Haken "InjectProfilingHooks" und "markComponentRenderStarted" fehlen beide ein einsamer "unstable_Profiling"-Hit ist ein Exportname), ist es 19.2.3 entduziert mit genau EINE Kopie über alle Brocken, und "reactProductionProfiling" ist ausgeschaltet. Dort ist kein Bloat-Fehler zu beheben, und ein Framework wird immer versenden Code eine bestimmte Seite tut nicht ausführen, so dass die Prüfung selbst nicht geklärt werden kann. Was festgelegt werden könnte, ist, wie es geliefert wird. Als ging es aus gzip, während jeder moderne Kunde nach brotli fragte: Reagieren-Dom chunk gzip 69,632 - brotli 56,967 (-18%) alle JS + CSS gzip 675.8 KB -- brotli 576.6 KB (-99.2 KB) Brotli bei Qualität 11 ist genau die Einstellung, die 565 ms pro Anfrage auf der HTML-Dokument, und es ist kostenlos hier aus dem entgegengesetzten Grund: diese Dateien sind inhaltsgeheißen und serviert "unveränderlich", so dass eine bestimmte URL kann nie seine Bytes ändern. Sie einmal bei der Bauzeit zu kompressieren kostet ein paar Bausekunden und gar nichts pro Anfrage. Das Dokument behält Qualität 5, weil es eine pro Anfrage Nonce trägt und muss live komprimiert werden - die beiden Fälle wollen wirklich unterschiedliche Antworten. Der Wrapper dient dem vorgefertigten Geschwistern, wenn es eines gibt und der Kunde akzeptiert br, und kehrt falsch für alles, was es nicht sicher ist, so ein Miss kostet eine stat() und fällt bis zu Next unberührt durch. Verifiziert statt angenommen, da diese Datei bedient: · brotli serviert, wenn angenommen, mit dem unveränderlichen Kopfball erhalten · ein gzip-only Client bekommt immer noch eine funktionierende 200 durch Next · eine fehlende .br 404s in der Regel · codierte Traversal -%2e%2e" bei .js-Pfaden auf server.js und server-nonce.js, die wirklich außerhalb der statischen Wurzel existieren, wird abgelehnt ohne Quelle durchgesickert. Einfache "../" ist kein gültiger Test: kräuselt es bevor die Anfrage versandt wird.

All changes

Wie, was Sie sehen Versand?

Jedes dieser Updates landet automatisch in Ihrem Arbeitsbereich. Starten Sie frei und beobachten Sie es Woche für Woche wachsen.

Free Forever startenPreisgestaltung anzeigen