Ogni giorno Internet viene utilizzato da milioni di persone per ogni genere di cose. Di solito inseriamo un indirizzo Internet o un URL e riceviamo il nostro sito web. Tuttavia, a volte si verifica un errore. La pagina web non viene visualizzata e viene emesso un codice di stato che indica l'errore. Tuttavia, molti utenti non capiscono il significato di questi codici, anche se dicono molto su ciò che è successo.
Cosa sono esattamente i codici di stato HTTP?
Un codice di stato HTTP è un codice che viene emesso da un server web al browser web per trasmettere determinate informazioni. I codici sono utilizzati principalmente per indicare al browser come gestire una richiesta o per dare un feedback su una richiesta. L'utente ordinario di solito nota un tale codice di stato ogni volta che qualcosa non funziona. Uno dei codici di stato più noti è la pagina Error 404 non trovata. Tuttavia, il codice di stato non viene visualizzato solo quando si verificano degli errori. Anche se un'operazione ha avuto successo, un utente viene reindirizzato, o se sul server vengono eseguite diverse altre azioni e misure, queste vengono trasmesse al browser nel contesto dei codici di stato. Nella maggior parte dei casi, tuttavia, l'utente ordinario non si accorgerà di nulla.
I gruppi di codici di stato
Tutti i codici di stato HTTP sono divisi in sei gruppi, numerati da uno a sei e nove, ognuno dei quali si riferisce ad una specifica categoria di messaggi. Generalmente i gruppi sono assegnati come segue:
* 1xx uscite informazioni generali
* 2xx contiene i codici per operazioni di successo
* 3xx contiene i codici per il reindirizzamento e l'inoltro
* 4xx è responsabile degli errori del cliente
* 5xx è responsabile degli errori del server
* 9xx errori proprietari in uscita
Questi sei gruppi contengono tutti i codici di stato del protocollo HTTP. Ogni gruppo contiene un numero diverso di codici che indicano una situazione, uno stato o uno stato specifico.
Il Gruppo 1xx - Informazioni generali
Questo gruppo comprende tre stati, ovvero i codici di stato 100, 101 e 102, che sono responsabili della produzione di informazioni generali e note. Per esempio, il codice 100 restituisce al browser un comando Continua, dicendogli che può continuare con una richiesta potenzialmente grande e pesante per il server. Il codice 101, invece, indica al browser che il protocollo viene cambiato, ad esempio quando si passa da HTTP a FTP, ecc. Infine, il codice 102 sta per Processing e indica al browser che la richiesta è ancora in fase di elaborazione attiva. In questo modo si evita un timeout. I codici di questa categoria sono utilizzati esclusivamente per la comunicazione con il browser, in modo che normalmente non si nota nulla.
Il Gruppo 2xx - Operazioni di successo
Questi codici sono puramente informativi. Gli stati di questa categoria danno un semplice feedback, come ad esempio OK che un modulo sia stato inviato, o che una pagina non contenga deliberatamente alcun contenuto. Nella maggior parte dei casi, come utente normale, non si nota questi codici e non ne ha bisogno.
Il Gruppo 3xx - Spedizioniere
Il gruppo di 300 codici si occupa esclusivamente di deviazioni. Essi contengono un feedback, ad esempio sul reindirizzamento permanente, sull'uso di proxy, ecc. Il loro scopo principale è quello di rendere il browser consapevole di questi reindirizzamenti e di indicare l'URL o il percorso corretto. Come utente, di solito non otterrete nulla o molto poco dai codici di stato di questo gruppo.
Il gruppo 4xx - Errore del cliente
Il gruppo 400 è il primo gruppo che si occupa dei messaggi di errore attuali. In questo caso si tratta di errori del cliente, cioè di problemi causati dal cliente, cioè dal browser web, o di errori innescati dal cliente. Il numero di codici di errore diversi è considerevole, ma l'utente ordinario di solito incontra principalmente tre codici di questo gruppo, vale a dire il 400, il 403 e il 404.
L'errore 400 - Bad Request sta per una richiesta difettosa. Qui il browser ha richiesto una funzione o una pagina. Tuttavia, la richiesta era strutturata in modo errato e non poteva quindi essere eseguita dal server. Spesso si ottiene anche l'errore 403 - Non consentito. Questo errore si verifica sempre quando si va su un sito web per il quale non si ha accesso. Ad esempio, se si desidera accedere a una directory del server senza i diritti appropriati, o inserire i dati di accesso errati in una query .htaccess, si otterrà questo messaggio di errore. L'errore di gran lunga più comune è Error 404 - Not Found. Ogni volta che si inserisce una pagina web non valida o sbagliata, la risposta è un Errore 404.
Il gruppo 5xx - Errore del server
Se il gruppo 400 indica gli errori del client, cioè gli errori causati dal browser web, il gruppo 500 indica il contrario. Restituisce i messaggi di errore che sono stati innescati dal server o causati sul server. Probabilmente l'errore più conosciuto è l'errore 500 - Internal Server Error. Questo è un messaggio di errore collettivo per una serie di errori del server che non hanno un proprio codice e non sono specificati in modo più dettagliato. Altri errori comuni del server includono l'errore 502 Bad Gateway, come quando viene usato un cattivo proxy o l'inoltro non riesce, e l'errore 503 Service Unavailable, quando un server è temporaneamente non disponibile, per esempio, a causa della manutenzione. Occasionalmente incontrerete anche un Error 504 Gateway Timeout, che vi dice che la connessione è stata terminata a causa di un timeout. Specialmente su siti web importanti o offerte speciali, incontrerete anche Error 509 - Bandwidth Limit Exceeded più spesso. Questo messaggio indica che la richiesta è stata interrotta perché altrimenti il Larghezza di banda del server sarebbe stato superato.
Il Gruppo 9xx - Messaggi di stato proprietario
Il gruppo 900 è completamente riservato ai messaggi di errore propri, i cosiddetti messaggi di errore proprietari. Dovrebbe essere un server Amministratori e i webmaster per sviluppare e utilizzare i propri messaggi di errore e codici di stato. Per questo motivo, l'uso degli stati può variare da server a server e da configurazione a configurazione. Non è quindi possibile fornire una spiegazione dei codici o una dichiarazione su quali codici vengono utilizzati.