Server: Assets werden nachgefragt statt jedes Mal neu geladen

Auf allem stand no-store -- im Server und noch einmal in preloadAssets().
Der Browser durfte also nichts behalten, und jeder Reload lud die vollen
Assets neu: 3 MB Screenshots, 3,3 MB Mockups, Schriften, Bibliotheken.

Am schlimmsten in uebersicht.html. Die laedt die sechs Projekte als
iframes, und weil keiner etwas behalten durfte, holte sich jeder iframe
dieselben Dateien noch einmal: 38,1 MB in 435 Anfragen.

  uebersicht.html erster Aufruf   38,1 MB  ->  2,2 MB
  uebersicht.html Reload          32,8 MB  ->  1,9 MB
  post6.html Reload                5,4 MB  ->  0,3 MB

Die Absicht hinter no-store war richtig: ein Bild, das unter demselben
Namen ausgetauscht wird, muss sofort ankommen. no-cache leistet das
billiger -- der Browser behaelt seine Kopie, fragt aber vor jeder
Benutzung nach. Nachgeprueft: unveraendert antwortet der Server mit 304
und 0 Bytes, nach einem touch mit 200 und der vollen Datei.

Seite, Stand und Auskuenfte (/bilder, /state) bleiben bei no-store. Die
sind klein und duerfen nie aus einer Kopie kommen.

Die eine Zeile stand in allen sieben Projektdateien.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01U7RZ6ZpLD8Dp84Rtt4KHfv
This commit is contained in:
dejanandClaude Opus 5 committed 2026-08-29 16:31:25 +02:00
1 parent e8f5686f30
commit 77734b6da2
9 files changed
+111 -20

No files matched your search

+27
View File
@@ -534,6 +534,33 @@ serve.py Statischer Server + /save, /state, /upload, /bilder, /anim
rules.md Gestaltungsregeln, Farbwerte, Export-Wissen
```
### Assets werden nachgefragt, nicht neu geladen
Ein Bild, das unter demselben Namen ausgetauscht wird, muss sofort ankommen —
sonst arbeitet man gegen eine alte Kopie. Dafür stand auf allem `no-store`:
im Server und noch einmal in `preloadAssets()`. Der Browser durfte nichts
behalten.
Das Ziel war richtig, der Preis zu hoch. Jeder Reload lud alles neu, und weil
`uebersicht.html` die sechs Projekte als iframes lädt und jeder iframe für
sich vorlud, kam die Seite auf **38 MB in 435 Anfragen**.
`no-cache` leistet dasselbe billiger: der Browser behält seine Kopie, fragt
aber vor jeder Benutzung nach. Eine ausgetauschte Datei kommt genauso sofort
an, eine unveränderte kostet ein 304 ohne Rumpf — und die sechs iframes teilen
sich eine Kopie statt sechs zu ziehen.
| | vorher | jetzt |
|---|---|---|
| `uebersicht.html`, erster Aufruf | 38,1 MB | 2,2 MB |
| `uebersicht.html`, Reload | 32,8 MB | 1,9 MB |
| `post6.html`, Reload | 5,4 MB | 0,3 MB |
Nachgeprüft ist beides: unverändert antwortet der Server mit `304` und
0 Bytes, nach einem `touch` mit `200` und der vollen Datei. **Seite, Stand und
Auskünfte (`/bilder`, `/state`) bleiben bei `no-store`** — die sind klein und
dürfen nie aus einer Kopie kommen.
## Regeln
**`rules.md` ist die Arbeitsgrundlage.** Farbwerte, Geometrie, Typografie,