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.
Protocollo HTTP
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:
URL: https://http-statuscode.com/errorCodeExample.php?code=408
Stato: 408 Request Timeout
Quelle: Network
Indirizzo IP: XX.XX.XX.XX
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
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.
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.
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