Performance

Perché il tuo sito elenca due volte lo stesso carattere

In Chrome 157 il server ha inviato il carattere una volta, 23.664 byte. La seconda riga, quando c'era, aveva transferSize 0. Con crossorigin la riga resta una.

Marco Conte 2 min di lettura

Perché il tuo sito elenca due volte lo stesso carattere
In questa guida (3)
  1. 1Che cosa ho messo nella pagina
  2. 2Che cosa ha fatto Chrome 157
  3. 3Che cosa non ho provato

Due righe con lo stesso carattere, nel pannello di rete, non significano che il server abbia inviato il file due volte. Il 12 novembre 2026, in Chrome 157.0.8103.52, il server ha spedito il file una sola volta: 23.664 byte. La seconda riga, quando c'era, segnava transferSize 0.

Che cosa ho messo nella pagina

Il file era il woff2 latino di Inter, peso 400, pacchetto fontsource 5.2.8, salvato in locale. Non è il carattere di un sito pubblicato. La regola @font-face lo nominava con font-display: swap, sia nella prova senza attributo sia in quella con l'attributo. Lo swap, quindi, non spiega la seconda riga.

Il preload era un link con rel="preload", as="font" e type="font/woff2". Nella prima pagina l'attributo crossorigin non c'era. Nella seconda c'era crossorigin="anonymous". Ho ripetuto la prova due volte: carattere e pagina sulla stessa origine, poi pagina su una porta e carattere su un'altra, con l'intestazione Access-Control-Allow-Origin impostata a asterisco.

Che cosa ha fatto Chrome 157

Sulla stessa origine, senza crossorigin, il registro del server mostra un solo GET del file. Il timing delle risorse ne elenca due: la prima ha transferSize 23.964, cioè i 23.664 byte più le intestazioni, ed è partita in modalità no-cors; la seconda ha transferSize 0 e encodedBodySize 23.664. Il carattere risultava applicato, document.fonts.check("48px Lab") vero.

Con crossorigin="anonymous", stessa origine, il server ha ricevuto ancora un solo GET. Il timing ne elenca una, in modalità cors, transferSize 23.964. Anche qui il carattere risultava applicato.

Con il file su un'altra origine, senza crossorigin, il server ha registrato una sola consegna: modalità no-cors, destinazione font, nessun Origin, 23.664 byte. Il timing elenca due voci e la seconda ha di nuovo transferSize 0. Con crossorigin="anonymous" il server ha registrato una consegna in modalità cors, con Origin della pagina, e il timing una voce sola da 23.964 byte. In entrambi i casi il carattere risultava applicato.

La sezione 4.8.2 di CSS Fonts livello 4, letta il 12 novembre 2026, chiede per il font la destinazione font e la modalità CORS. L'attributo crossorigin sul preload allinea quella prima richiesta alla modalità che la regola del font userà. In queste quattro pagine non ha cambiato i byte usciti dal server: ne ha cambiato il modo, e ha tolto la seconda riga a transferSize 0.

Che cosa non ho provato

Non ho tolto Access-Control-Allow-Origin, quindi non so che cosa faccia questo Chrome se l'altro dominio non autorizza la lettura del file. Non ho provato Firefox, Safari, un service worker, unicode-range con più file, né un carattere ospitato da un fornitore esterno. Il numero 23.664 è la dimensione di questo woff2, non una soglia del browser.

L'immagine di copertina, sulla scheda Wikimedia, è di Willi Heidelbach, scatto del 28 settembre 2004, licenza CC BY 2.5. Sono caratteri di piombo in una cassa tipografica. Non è il file woff2 della prova.

Potrebbe interessarti anche...

Hai bisogno di scegliere una webagency per il tuo progetto?

Abbiamo la soluzione giusta

Parliamone
  • Consulenza specializzata
  • Soluzioni su misura
  • Risultati concreti

Tecnologialiberaper tutti

Hai bisogno d'aiuto?

Parla con noi. Il nostro supporto è attivo tutti i giorni dalle 9 alle 18

+390835239514 Chiamaci

Crea il tuo eCommerce

Creiamo eCommerce su misura senza farti spendere un patrimonio

info@roxxoitalia.com Scopri il nostro CMS

Crea il tuo sito web

Siti web già pronti per andare online. Vuoi saperne di più? Contattaci

info@roxxoitalia.com Scrivici