HTTP 408: come risolvere l'errore di timeout
Le pagine che cercate sul World Wide Web devono prima essere caricate sul browser. La base per questa trasmissione, che per impostazione predefinita è gestita tramite il TCP, è il protocollo "stateless" HTTP (Hyper text Transfer Protocol), che regola lo scambio iniziale di messaggi tra server web e browser. Secondo il classico principio “client-server”, il browser esegue una richiesta HTTP e il server restituisce una risposta con un codice di stato.
Gran parte di questa comunicazione avviene "dietro le quinte", quindi l'utente non la percepisce, a differenza dei codici di errore HTTP: quando emerge un problema durante lo scambio, il browser visualizza spesso i codici corrispondenti delle serie 4xx e 5xx, che rappresentano diverse fonti di errore lato client o server. L'errore HTTP 408, ad esempio, indica che la richiesta del client è scaduta. In questa guida vi illustriamo l'origine di questo timeout e come potete risolvere il problema.
Cosa significa l'HTTP 408 Error?
Il codice di errore HTTP 408, come tutti i codici della serie di errori 4xx, è uno dei messaggi che indicano un problema lato client. Se si analizza più da vicino questo messaggio di errore, diventa chiaro, tuttavia, che non si tratta necessariamente di un malfunzionamento del browser. L'errore 408 è associato all'informazione "Request Timeout", che in termini semplici significa che la richiesta inviata dal client al server web ha richiesto più tempo di quanto consentito dal server. Di conseguenza, il browser riceve il messaggio di errore HTTP 408 invece della risposta effettiva. Questo può naturalmente essere riconducibile a problemi della vostra connessione Internet, ma non si può escludere che il timeout sia il risultato di un sovraccarico o di una configurazione errata del server web.
Panoramica delle possibili cause dell'errore "408: Request Timeout"
Anche se esistono più di 50 codici di stato HTTP, più della metà dei quali indicano messaggi di errore, questi spesso si rivelano essere solo un approssimativo aiuto all'orientamento per la successiva soluzione del problema. Ciò vale anche per il codice di errore 408, che in pratica indica soltanto che dopo aver stabilito una connessione TCP/IP è trascorso troppo tempo senza alcun trasferimento di dati in un intervallo prestabilito. Come spesso accade, tuttavia, questo ritardo e quindi anche i messaggi di errore possono avere diverse cause, alcune delle quali vengono illustrate qui di seguito:
- Problemi legati alla larghezza di banda e a disconnessioni: i messaggi HTTP 408 sono spesso il risultato di problemi di connessione. Per esempio, la larghezza di banda può essere così bassa che la richiesta HTTP non viene inoltrata nell'intervallo di tempo definito. È anche possibile che la connessione Internet sia stata temporaneamente interrotta dopo aver stabilito la connessione TCP/IP con il server, causando il fallimento totale della trasmissione o un trasferimento solo parziale dei dati della richiesta.
- Ricerca di URL errati o inaccessibili: non tutti gli URL di un progetto web sono disponibili per tutti i visitatori o senza crittografia. Se quindi eseguite accidentalmente la ricerca di una pagina di cui non avete l'autorizzazione o se tentate di accedere a una pagina HTTPS senza SSL/TLS abilitato, può verificarsi un timeout 408. Inoltre, molti URL hanno restrizioni riguardo ai metodi di richiesta HTTP consentiti (GET, POST, HEAD, PUT e così via), motivo per cui il timeout può essere riconducibile anche all'applicazione scorretta di un metodo. In entrambi i casi, tuttavia, ci sono anche alcuni messaggi standard che forniscono maggiori informazioni sul relativo problema ("403: Forbidden" per tentativi di accesso non autorizzati e "405: Method Not Allowed" per metodi HTTP non disponibili).
- Configurazione errata del server web: indipendentemente dal software del server web utilizzato, l'operatore del progetto web determina nel rispettivo file di configurazione dopo quanti secondi una richiesta HTTP deve essere rifiutata. Vengono assegnati valori separati per l'intestazione e per il corpo dei messaggi HTTP. Se il server sceglie un intervallo di tempo troppo breve per l'elaborazione di uno o di entrambi i componenti del pacchetto, questo potrebbe essere il motivo dell'errore 408 sulle pagine utente.
- Plug-in, estensioni, moduli ecc.: un problema che può verificarsi sia lato client che server è l'uso di estensioni difettose o obsolete. Il timeout HTTP può dunque essere provocato sia dai plug-in del browser utilizzati dal visitatore del sito web, sia dai moduli CMS usati dall'operatore, causando l'errore HTTP 408.
HTTP 408: come risolvere il problema del timeout HTTP come utente del browser
Può capitare che cercando di caricare un sito web vi appaia l'errore "408: Request Timeout". Ma, nonostante desideriate trovare una soluzione al problema il prima possibile, non è detto che siate in grado di risolverlo da soli. Se però l'errore 408 si verifica effettivamente soltanto lato client, è probabile che riusciate a correggerlo utilizzando uno dei seguenti approcci.
Soluzione 1: Controllare l'URL
Prima di approfondire la risoluzione dei problemi, dovreste innanzitutto verificare l'URL inserito tramite il quale intendete recuperare la pagina o la risorsa web di vostro interesse. Potreste eventualmente aver scelto un URL che non è più accessibile. Questo succede soprattutto se aprite il sito che volete visualizzare tramite segnalibri impostati in passato. Se nel frattempo il webmaster responsabile ha apportato modifiche alle autorizzazioni o ai metodi di richiesta consentiti o è, ad esempio, passato a HTTPS, il link memorizzato probabilmente non porterà più al target previsto, ma a messaggi di errore HTTP 408 o simili. Assicuratevi dunque che l'URL inserito sia corretto e aggiornato per escludere questa fonte di errore.
Soluzione 2: controllare la connessione Internet e riavviare il router
I problemi con la connessione Internet sono sempre snervanti. Spesso la connessione non funziona più impedendo del tutto l'accesso al web. Mentre è impossibile non accorgersi di queste interruzioni a livello globale, nella maggior parte dei casi le fluttuazioni o interruzioni di connessione temporanee passano inosservate. La causa dei lunghi tempi di caricamento e dei messaggi di errore, come l'errore 408, viene quindi spesso erroneamente attribuita al sito web richiesto. Perciò si consiglia di controllare rapidamente la propria connessione di rete, ad esempio visitando altri siti web o eseguendo un test di velocità DSL.
Se notate che ci sono effettivamente delle difficoltà tecniche nell'accesso, dovete riavviare il router. Se il problema di connessione persiste, non vi rimane che contattare il vostro Internet Provider.
Soluzione 3: Disattivare le estensioni del browser
Le funzioni dei browser web possono essere ampliate con pochi clic mediante plug-in, add-on o estensioni. Tuttavia, queste utili feature aggiuntive non sempre funzionano come desiderato e causano talvolta un peggioramento dell'esperienza di navigazione e la comparsa di messaggi di errore come HTTP 408. Ciò è dovuto al fatto che spesso sono obsolete o incompatibili con la versione corrente del browser, perché di fatto non vengono più sviluppate. Per verificare se l'errore di timeout è dovuto a una o più estensioni, dovete disabilitarle temporaneamente. Se in questo modo il problema si risolve, potete nuovamente attivare i plug-in, uno ad uno, per scoprire qual è quello responsabile del messaggio di errore HTTP.
Soluzione 4: Aprire un sito web in un secondo momento
Le soluzioni presentate non sempre risolvono l'errore "408: Request Timeout", soprattutto nei casi in cui è dovuto a problemi prolungati con la vostra connessione di rete. In questo caso è consigliabile dedicarsi ad altro e riprovare in un secondo momento. Se lo scambio HTTP continua a fallire, la causa dell'errore è molto probabilmente lato server. Se il webmaster responsabile ha inserito i propri dati di contatto, potete chiedere se è al corrente del problema e quando la pagina dovrebbe essere nuovamente disponibile.
Come risolvere l'errore HTTP 408 come webmaster
Mentre il problema di timeout HTTP è prima di tutto fastidioso per i visitatori perché la pagina di destinazione non può essere aperta nel momento desiderato, le sue implicazioni per i webmaster possono ovviamente essere decisamente maggiori. Se molti utenti si imbattono nell'errore per un periodo di tempo prolungato, questo non solo ha un effetto negativo sul traffico, ma influisce rapidamente anche sulla reputazione dell'applicazione web. Inoltre, è possibile che questa venga penalizzata anche dai motori di ricerca se errori come HTTP 408 si verificano più frequentemente o se la risoluzione del problema richiede troppo tempo. Se siete responsabili di un sito web, dovreste agire immediatamente, non appena venite al corrente del problema di timeout.
Soluzione 1: Verificare la configurazione del server web
Impostazioni errate sono tra le cause lato server più comuni dei codici di errore HTTP come "408: Request Timeout". Quindi la prima cosa da verificare è il file di configurazione di Apache (httpd.conf; apache2.conf), NGINX (nginx.conf), ecc. Nelle impostazioni del server web di Apache, ad esempio, dovete prestare particolare attenzione alle direttive "KeepAliveTimeout" e "RequestReadTimeout". Entrambe specificano un intervallo di tempo per le richieste HTTP in arrivo, il cui valore può essere troppo basso (si raccomandano 15 o anche 30 secondi). Se il vostro sito viene eseguito su un server NGINX, verificate le direttive "keepalive_timeout","client_body_timeout" e "client_header_timeout". Non dimenticate di salvare le modifiche al file di configurazione prima di riavviare il server web per risolvere il problema HTTP 408 una volta per tutte.
Soluzione 2: Ispezionare i log del server e adeguare le pagine problematiche
Come accennato sopra, l'errore HTTP 408 si verifica solo su una pagina o pagine isolate di un progetto web, perché contengono errori di configurazione per quanto riguarda i diritti di accesso e i metodi HTTP consentiti. Quindi, se scoprite un problema di timeout, dovete controllare quale/i URL presentano l'errore HTTP. Per evitare di dover accedere manualmente a ogni pagina, basta dare un'occhiata al file di log di errore del vostro server web, dove tutti gli errori HTTP vengono archiviati automaticamente. Una volta localizzate le pagine problematiche, potete cercare in modo mirato le cause specifiche del timeout e apportare, eventualmente, modifiche ai diritti di accesso e ai metodi.
Di solito potete visualizzare i log degli errori del server web che state utilizzando anche se ospitate il vostro progetto presso un provider di web hosting. Per farlo accedete al vostro account cliente, nel quale dovreste trovare una sezione con le statistiche del server, che include anche i log del server da visualizzare o scaricare. Se non riuscite a trovare la relativa sezione del menu, consultate l'area FAQ o contattate il team di assistenza del fornitore.
Soluzione 3: Disattivare moduli, modelli e plug-in obsoleti e difettosi nel CMS
I Content Management System sono molto richiesti come base per siti web. Un grande vantaggio di queste piattaforme è la loro elevata estensibilità attraverso moduli, modelli e plug-in, che forniscono funzioni, layout e design aggiuntivi. Queste estensioni, come le loro controparti client, possono anche essere responsabili del Request Timeout 408.
Tra i numerosi moduli aggiuntivi e plug-in esistono sempre più applicazioni che promettono un enorme valore aggiunto per il proprio progetto, ma che alla fine non funzionano come desiderato o che da un certo momento in poi non vengono più ulteriormente sviluppate. Questo vale soprattutto per le estensioni di terze parti, dove possono verificarsi problemi con ogni nuova versione del CMS. La soluzione più semplice è disattivare i plug-in corrispondenti e, se necessario, anche i moduli.
Le estensioni possono causare errori come l'HTTP 408 nonostante tutti i moduli e plug-in funzionino correttamente. Un numero troppo elevato di estensioni nel CMS può influire negativamente sulle prestazioni del vostro progetto web. Assicuratevi, pertanto, di disattivare tempestivamente le funzioni aggiuntive e i componenti di design non più necessari per escludere un tale scenario.
Soluzione 4: Verificare e riparare il codice
L'errore non sempre è riconducibile a una fonte esterna, ma può nascondersi anche nel vostro codice. Se riscontrate un error code 408 e non siete riusciti a trovare una soluzione durante l'ispezione del file di configurazione del server web e del CMS, verificate il framework HTML, gli snippet CSS e gli script (JavaScript, PHP, ecc.). Se il problema del timeout non può essere risolto in nessun altro modo, non esitate a eseguire un processo di debug completo utilizzando un software appropriato. Così potrete individuare e riparare in modo efficiente il codice difettoso.
Soluzione 5: Incrementare le risorse del server
Più richieste HTTP raggiungono il server web, più risorse sono necessarie per l'elaborazione. Se la potenza di calcolo disponibile non è sufficiente per gestire il traffico in arrivo, non è raro imbattersi in messaggi di errore come "408: Request Timeout". Se il vostro budget lo consente, dovreste considerare un aumento delle prestazioni del processore e della memoria.
Se le prestazioni del server sono scarse anche se disponete di risorse sufficienti, è possibile che vi siano problemi tecnici con il vostro hosting provider. In questi casi un errore HTTP 408 non può essere corretto incrementando le prestazioni. L'unica opzione è quella di contattare direttamente il fornitore per ottenere informazioni dettagliate sul problema e istruzioni per una possibile risoluzione.