408

Request Timeout

Ufficiale
Il tempo per la richiesta è scaduto

Spiegazione generale del codice di stato 408

Il codice di stato HTTP 408 Request Timeout si verifica quando una richiesta da un client (ad esempio, un browser Web) a un server richiede troppo tempo per essere inviata o completata. Il server attende solo una certa quantità di tempo per l'arrivo di tutti i dati necessari e termina la connessione se questo limite di tempo viene superato. Questo errore può essere causato da una connessione Internet lenta o instabile, da problemi tecnici del client o del server o da richieste troppo grandi o complesse. Per l'utente, questo si manifesta spesso nel fatto che un sito web non si carica completamente o che la connessione si interrompe improvvisamente. Una nuova richiesta, ad esempio aggiornando la pagina, spesso risolve il problema, ma può anche essere utile verificare la propria connessione a Internet o la disponibilità del server.

Specifica del codice di stato HTTP 408

Il codice di stato 408 Request Timeout indica che il server non ha ricevuto un messaggio di richiesta completo entro il tempo che era disposto ad aspettare. Un server DOVREBBE inviare l'opzione di connessione "close" (Sezione 6.1 di [RFC7230]) nella risposta, poiché 408 Request Timeout implica che il server ha deciso di chiudere la connessione piuttosto che continuare ad aspettare. Se il client ha una richiesta in sospeso in transito, può ripetere la richiesta su una nuova connessione.

Fonte / Citazione da: Il codice di stato HTTP 408 Request Timeout è specificato dalla sezione 6.5.7 di RFC7231.

Come lanciare un codice di stato 408 con PHP?

Per lanciare il codice di stato HTTP 408 su una pagina web, si può usare la funzione PHP http_response_code. La sintassi è la seguente: http_response_code(408) (PHP 5 >= 5.4.0, PHP 7, PHP 8)

Test del codice di stato HTTP 408

Per poter visualizzare il codice di stato HTTP (in questo caso 408 Request Timeout) e altre informazioni sul lato client, è necessario aprire la console di sviluppo con F12. Quindi navigare nella scheda "Rete". Ora la pagina può essere aperta, il sito web (ad esempio index.php) dovrebbe essere visibile nella scheda Rete. Questo deve essere selezionato e poi deve essere selezionata la sezione Herder. L'utente vedrà quindi il seguente risultato:

Codice di stato 408 Request Timeout
Panoramica
URL: https://http-statuscode.com/errorCodeExample.php?code=408
Stato: 408 Request Timeout
Quelle: Network
Indirizzo IP: XX.XX.XX.XX
Codice di stato 408 Request Timeout

Come posso risolvere il problema del codice di stato 408?

Per i gestori di siti web, il codice di stato HTTP 408 Request Timeout "Request Timeout" è solitamente un'indicazione che il server è sovraccarico o che le impostazioni di timeout sono troppo brevi. Un primo passo dovrebbe essere quello di controllare le risorse del server e assicurarsi che siano disponibili CPU, memoria e larghezza di banda sufficienti. Se il server raggiunge regolarmente i limiti di capacità, potrebbe essere necessario ridimensionare o ottimizzare l'infrastruttura. È inoltre necessario controllare le impostazioni di timeout del server e, se necessario, modificarle per concedere più tempo all'elaborazione delle richieste in arrivo. Inoltre, una rete di distribuzione dei contenuti (CDN) può aiutare a distribuire i contenuti più velocemente, soprattutto per gli utenti geograficamente distanti. I log del server spesso forniscono informazioni preziose sulle cause dei timeout e dovrebbero essere analizzati regolarmente. Il sito web dovrebbe anche essere controllato per verificare la presenza di richieste grandi o complesse che possono essere ottimizzate o suddivise in unità più piccole per ridurre il carico del server. Una pagina di errore di facile consultazione, che fornisca all'utente istruzioni utili su come ricaricare la pagina, completa le misure.

Per gli utenti che riscontrano un errore 408 Request Timeout, esistono alcune semplici soluzioni per risolvere il problema. Spesso è sufficiente ricaricare la pagina, poiché l'errore è spesso solo temporaneo. Se il problema persiste, è consigliabile controllare la propria connessione a Internet, poiché la causa è spesso una connessione lenta o instabile. In questo caso può essere utile riavviare il router o utilizzare una rete diversa. Se l'errore continua a verificarsi, potrebbe essere dovuto a dati del browser obsoleti o difettosi. L'eliminazione della cache e dei cookie e la verifica con un altro browser o dispositivo possono essere d'aiuto. È opportuno controllare anche i programmi di sicurezza come i firewall o le impostazioni dei proxy che potrebbero limitare il flusso di dati. Con queste misure, spesso è possibile correggere l'errore e ripristinare la connessione al sito web.

Come creare la propria pagina di errore per il codice di stato 408

Creare la propria pagina di errore 408 Request Timeout è relativamente facile sia con il server web "Apache" che con "NGINX".

Apache Webserver

Il server web "Apache" è uno dei server web più comuni su Internet. Per creare la propria pagina di errore 408 Request Timeout in "Apache", è necessario apportare la seguente modifica al file seguente.

File: .htaccess
ErrorDocument 408 /errors/408.html

NGINX Webserver

Simile al server web "Apache", anche "NGINX" è ampiamente utilizzato su Internet. Per creare la propria pagina di errore 408 Request Timeout in "NGINX", è necessario apportare la seguente modifica al file seguente.

File: sites-enabled/default
error_page 408 /408.html;
location = /408.html {
    root /usr/share/nginx/html;
    internal;
}

Compatibilità con i browser del codice di stato 408

Chrome no data
Edge no data
Firefox no data
Opera no data
Safari no data
Chrome Android no data
Firefox for Android no data
Opera Android no data
Safari on iOS no data
Internet no data
WebView Android no data

Costanti nei linguaggi di programmazione

HttpStatusCode.RequestTimeout
http.StatusRequestTimeout
Response::HTTP_REQUEST_TIMEOUT
httplib.REQUEST_TIMEOUT
http.client.REQUEST_TIMEOUT
http.HTTPStatus.REQUEST_TIMEOUT
:request_timeout
Autore: Tony Brüser
Autore: Tony Brüser

Tony Brüser è un entusiasta sviluppatore web con una predilezione per i codici di stato HTTP.

LinkedInGitHub