I browser moderni implementano diverse tecniche per fare in modo che le risorse vengano scaricate e tenute in cache, velocizzando il caricamento di risorse che servono successivamente, oppure in scenari offline.
Le ultime versioni dei principali browser, in particolare, supportano due concetti: quello di prefecthing e quello di prerendering.
La prima tecnica consiste nello scaricare risorse insieme alla pagina, anche se non vengono referenziate, perché saranno utilizzate in seguito. La seconda istruisce il browser, aggiungendo al prefecthing un'ulteriore passo, necessario ad avere la pagina pronta per essere mostrata all'utente, caricandola ed eseguendola con una velocità superiore. Di fatto, in questo caso, il browser scambia la pagina corrente con quella pre-renderizzata all'atto della normale navigazione: la pagina è stata caricata ma non resa visibile, con l'effetto che l'utente la vedrà molto più velocemente all'atto della navigazione, perché il browser la scambierà con quella visualizzata in precedenza.
E' sufficiente inserire questi elementi nella pagina (tipicamente nel tag head):
<link rel="prefetch" href="/style2.css" /> <link rel="prerender" href="/play.html" />
La garanzia che il browser faccia il prerender non c'è, perché dipende dalla singola implementazione e da alcuni dettagli. Ad esempio, alcuni browser hanno un limite di una pagina al massimo, mentre altri ignorano tutte le direttive di prerender se ne vengono incluse più di una. E' invece possibile specificare più istruzioni di prefetch.
Il supporto è disponibile con IE 11+, Chrome 13+, FireFox.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Verificare la provenienza di un commit tramite le GitHub Actions
Ottimizzare la latenza in Blazor 8 tramite InteractiveAuto render mode
Miglioramenti agli screen reader e al contrasto in Angular
Effettuare chiamate con versioning da Blazor ad ASP.NET Core
Creazione di plugin per Tailwind CSS: espandere le funzionalità del framework dinamicamente
Accesso sicuro ai secrets attraverso i file in Azure Container Apps
Esportare ed analizzare le issue di GitHub con la CLI e GraphQL
Reactive form tipizzati con modellazione del FormBuilder in Angular
Applicare il versioning ai nostri endpoint ASP.NET Core Minimal API
Generare token per autenicarsi sulle API di GitHub
Supportare il sorting di dati tabellari in Blazor con QuickGrid
Evitare (o ridurre) il repo-jacking sulle GitHub Actions
I più letti di oggi
- PWAConf 2020 - Online
- Effettuare il binding di date in Blazor
- What's new in Azure Functions and Extensions
- Mantenere sempre reattiva una Lambda di AWS
- Proteggersi dagli attacchi di Open Redirect in ASP.NET Core MVC
- Gestire errori funzionali tramite exception in ASP.NET Core Web API
- Sblocca le performance della tua applicazione con .NET 8