Perché le pagine web vanno in timeout: cause e soluzioni
Il timeout (scadenza del tempo di attesa) durante il caricamento di una pagina web è frustrante. Le cause possono risiedere nel client (browser, PC, rete locale), nel server (sito web, hosting, CDN) o nella rete di trasporto (ISP, backbone, DNS). Ecco un'analisi strutturata.
Cause lato Client (Browser / PC / Rete locale)
Script complessi / JavaScript pesante
Siti moderni usano framework pesanti (React, Angular, Vue), tracking, pubblicità programmatica, animazioni. Browser datati o con JS disabilitato/limitato faticano. Soluzione: Aggiorna browser (Chrome, Firefox, Edge, Safari), disabilita estensioni non essenziali (adblocker, privacy tools che rompono script), prova in modalità incognito/privata.
Immagini e risorse eccessivamente grandi / non ottimizzate
Immagini non compresse (PNG da 5MB per foto), video in autoplay, font web pesanti, CSS/JS non minificati. Soluzione: Lato utente: poco (salvo estensioni "Data Saver" / "Lite mode"). Lato sviluppatore: WebP/AVIF, lazy loading, CDN, compressione gzip/brotli, minificazione, critical CSS.
Problemi browser: Memory leaks, cache corrotta, troppe schede
Browser aperti da giorni con 50+ schede consumano GB di RAM, swappano su disco, rallentano tutto. Soluzione: Riavvia browser regolarmente. Chiudi schede inutili. Usa "Gestione attività browser" (Shift+Esc in Chrome/Edge) per uccidere processi gonfi. Svuota cache (Ctrl+Maiusc+Canc). Disabilita accelerazione hardware (Impostazioni > Sistema) se causa problemi GPU.
Timeout intenzionali (Siti bancari, PA, aree riservate)
Per sicurezza, banche e servizi pubblici scollegano sessioni inattive dopo 5-15 min. Soluzione: Normale. Salva lavoro spesso. Estensioni "Keep Alive" / "Tab Reloader" possono violare policy sicurezza.
Cause lato Server / Applicazione
- Sovraccarico server: Troppo traffico, risorse insufficienti (CPU, RAM, I/O, pool connessioni DB esaurito).
- Query DB lente / mancanti indici: Query complesse su tabelle grandi senza indici appropriati.
- Deadlock / Lock contention DB.
- Codice inefficiente / loop infiniti / ricorsione profonda.
- Servizi esterni lenti / down: API terze (pagamenti, geolocalizzazione, email, auth) che non rispondono in tempo.
- Configurazione web server (Nginx/Apache/IIS) errata: `proxy_read_timeout`, `client_body_timeout`, `keepalive_timeout` troppo bassi.
- CDN / WAF / Load Balancer mal configurati che bloccano o ritardano richieste legittime.
Cause lato Rete / Infrastruttura
- DNS lenti / down: Risoluzione nome dominio fallisce o impiega secondi. Soluzione: Cambia DNS su router/PC: Cloudflare 1.1.1.1 / 1.0.0.1, Google 8.8.8.8 / 8.8.4.4, Quad9 9.9.9.9. Testa con `nslookup` / `dig`.
- Latenza alta / Perdita pacchetti: Congestione ISP, routing subottimale, cavo danneggiato, Wi-Fi instabile. Test: `ping 1.1.1.1`, `traceroute dominio.com`, `mtr dominio.com`.
- MTU errato: Pacchetti troppo grandi frammentati/persi. Test: `ping -f -l 1472 1.1.1.1` (Windows) / `ping -M do -s 1472 1.1.1.1` (Linux/Mac). Riduci MTU su router/interfaccia (es. 1452 per PPPoE).
- Firewall / Antivirus / Proxy aziendale che ispeziona/blocca traffico HTTPS (TLS inspection).
Diagnostica pratica per l'utente
- Prova un altro browser (es. Firefox se usi Chrome).
- Prova modalità incognito/privata (esclude estensioni/cache).
- Prova un altro dispositivo sulla stessa rete (telefono, tablet).
- Prova rete diversa (hotspot telefono) per isolare ISP/Router.
- Strumenti sviluppatore browser (F12) > scheda Network > ricarica: guarda colonna "Time" / "Waterfall". Cosa è lento? (TTFB alto = server/rete. Content Download alto = risorse grandi. DOMContentLoaded / Load event ritardati = JS rendering).
- `ping` / `traceroute` / `nslookup` dominio.
Se il problema è del sito (non tuo)
Non puoi risolverlo. Contatta supporto sito. Usa DownDetector, IsItDownRightNow per vedere se altri segnalano problemi. Wayback Machine / Google Cache per vedere contenuto se sito down.