Codici HTTP: controlla i codici di stato delle risposte HTTP!

0
83

Ogni volta che un compito viene eseguito su un dispositivo monitorato, il server di destinazione restituisce codici di stato HTTP per indicare lo stato della risposta del server. Questi codici di stato HTTP, o codici di errore di rete, appariranno nei risultati di una sessione di monitoraggio così come nelle notifiche di allarme. Tuttavia, c’è molto di più che dovresti sapere sui codici HTTPs. Quindi, con questo in mente, oggi andremo a vedere tutto quello che devi sapere su di loro. Controllali:

Vedi anche cos’è l’errore 503!

Cosa sono i codici di stato HTTP?

I codici di stato HTTP sono una risposta alla richiesta di una pagina web. Quindi ogni volta che digiti un URL, clicchi su un link o ottieni un risultato di ricerca, stai essenzialmente richiedendo un documento o una pagina web da un server. I codici di stato HTTP sono codici a 3 cifre (come «200 OK» o «404 Not Found») inviati da un server web per far sapere alle persone e ai motori di ricerca se ci sono stati errori nella richiesta o problemi con il server che sta cercando di elaborare la richiesta.

Qual è l’importanza dei codici HTTP?

I codici di stato HTTP sono importanti per diagnosticare i problemi di un sito web, come ad esempio se un server web sta funzionando male e non serve le pagine o se sono stati fatti dei link impropri su un sito che non funziona. Quindi, catturare rapidamente tutti questi problemi è davvero importante per fornire una buona esperienza alle persone e ai motori di ricerca. Inoltre, se vuoi posizionarti bene nei motori di ricerca, devi assicurarti che il tuo sito funzioni sempre nel modo giusto esaminando i codici di stato riportati dal server.

Capire le classi di codici di stato HTTP

Ci sono cinque categorie o classi di codici di stato HTTP. Così, il primo numero indica la classe di stato e ci sono codici specifici in ogni classe. Ogni codice di stato specifico di solito ha una parola descrittiva collegata ad esso, come «OK» o «Permanently Moved», ma alcuni server possono fornire descrizioni diverse.

  • Categoria 1xx, risposta informativa: Questi codici di stato non forniscono molte informazioni utili (nonostante il loro nome). Indica che il server sta ancora elaborando. Inoltre, probabilmente non vedrai mai codici di stato nei 100;
  • categoria 2xx, successo: Il miglior tipo di stato: successo! Il più comune è «200 OK», al quale ti aspetti che il tuo server risponda più frequentemente. Quindi, un codice di risposta positiva dice al cliente che la richiesta è stata soddisfatta e che sta ottenendo ciò che vuole;
  • categoria 3xx, redirect: Questo indica che la pagina o la risorsa richiesta è stata spostata. Invia anche il nuovo URL, che il client richiede automaticamente. Quando questo accade nel tuo browser, potresti anche non notare il reindirizzamento perché avviene rapidamente. Puoi vedere che l’URL a cui hai avuto accesso non è lo stesso URL su cui hai cliccato. Inoltre, il codice di stato più comune qui è «301 Moved Permanently»;
  • Categoria 4xx, errore del client: Questi codici indicano un errore del client, di solito significa che il client ha richiesto una risorsa che non esiste o non c’è il permesso. Infine, vale la pena notare che questa categoria contiene il codice di stato più riconoscibile: «404 Not Found»;
  • Categoria 5xx, errore del server: Questi codici indicano che il server ha incontrato un errore o è in manutenzione temporanea o inattivo.

Elenco dei codici di stato HTTP

Anche se ci sono più di 40 diversi codici di stato del server, è probabile che tu incontri meno di una dozzina di codici su base regolare. Di seguito, abbiamo separato tutti i codici che potresti incontrare. Controllali:

Codici di stato 100

Un codice di stato di livello 100 indica che la richiesta che hai fatto al server è ancora in corso per qualche motivo. Questo non è necessariamente un problema. Pertanto, è solo un’informazione extra per farti sapere cosa sta succedendo.

  • 100 «Continua»: Questo significa che il server in questione ha ricevuto le intestazioni della richiesta dal tuo browser ed è ora pronto per l’invio del corpo della richiesta. Questo rende il processo di richiesta più efficiente, poiché impedisce al browser di inviare un corpo della richiesta anche se le intestazioni hanno qualche rifiuto.
  • 101 «Commutazione di protocollo»: Il tuo browser ha chiesto al server di cambiare protocollo e il server ha acconsentito.
  • 103 «Initial hints»: Questo restituisce alcune intestazioni di risposta prima che il resto della risposta del server sia pronto.

Codici di stato 200

Questo è il miglior tipo di codice di stato HTTP da ricevere. Quindi, una risposta di livello 200 significa che tutto sta funzionando come dovrebbe.

  • 200 «Tutto bene»: Questo è il codice che viene consegnato quando una pagina web o una risorsa si comporta esattamente come ci si aspetta;
  • 201 «Creato»: Il server ha soddisfatto la richiesta del browser e, come risultato, ha creato una nuova risorsa;
  • 202 «Accettato»: Il server ha accettato la richiesta del browser, ma la sta ancora elaborando. La richiesta può risultare o meno in una risposta completa;
  • 203 «Non-Authoritative Information»: Questo codice di stato può apparire quando un proxy è in uso. Significa che il server proxy ha ricevuto un codice di stato 200 «Tutto è OK» dal server di origine, ma ha modificato la risposta prima di passarla al tuo browser;
  • 204 «Nessun contenuto»: Questo codice significa che il server ha elaborato con successo la richiesta, ma non restituirà alcun contenuto;
  • 205 «Reset Content»: Come un codice 204, questo significa che il server ha elaborato la richiesta ma non restituirà alcun contenuto. Tuttavia, richiede anche al tuo browser di reimpostare la visualizzazione del documento;
  • 206 «Contenuto parziale»: Puoi vedere questo codice di stato se il tuo client HTTP (ovvero il tuo browser) usa ‘range headers’. Questo permette al tuo browser di riprendere i download in pausa e di dividere un download in più flussi. Inoltre, vale la pena ricordare che un codice 206 arriva quando un’intestazione di intervallo fa sì che il server invii solo una parte della risorsa richiesta.

Codici di stato 300

Il reindirizzamento è il processo che serve a comunicare che una risorsa si è spostata in una nuova posizione. Ci sono diversi codici di stato HTTP che accompagnano i reindirizzamenti per fornire ai visitatori informazioni su dove trovare il contenuto che stanno cercando.

  • 300 «Scelte multiple»: A volte, ci possono essere più risorse possibili con cui il server può rispondere per soddisfare la richiesta del tuo browser. Un codice di stato 300 significa che il tuo browser ora deve scegliere tra loro. Questo può accadere quando ci sono più estensioni di tipo di file disponibili, o se il server sta sperimentando la disambiguazione del senso delle parole;
  • 301 «La risorsa richiesta è stata spostata in modo permanente»: Questo codice viene fornito quando una pagina web o una risorsa è stata permanentemente sostituita da una risorsa diversa. È utile per il reindirizzamento permanente degli URL;
  • 302 «La risorsa richiesta si è spostata, ma è stata trovata»: questo codice è utilizzato per indicare che la risorsa richiesta è stata trovata, ma non nella posizione in cui ci si aspettava. È utile per il reindirizzamento temporaneo degli URL;
  • 303 «Vedi altro»: Comprendere un codice di stato 303 richiede che tu conosca la differenza tra i quattro principali metodi di richiesta HTTP. Essenzialmente, un codice 303 dice al tuo browser che ha trovato la risorsa richiesta dal tuo browser tramite POST, PUT o DELETE. Tuttavia, per recuperarlo usando GET, devi fare la richiesta appropriata ad un URL diverso da quello che hai usato in precedenza;
  • 304: «La risorsa richiesta non è stata modificata dall’ultima volta che vi hai avuto accesso». Questo codice dice al browser che le risorse memorizzate nella cache del browser non sono state modificate. Viene utilizzato per accelerare la consegna delle pagine web riutilizzando le risorse precedentemente scaricate.
  • 307: «Reindirizzamento temporaneo». Questo codice di stato ha sostituito il 302 «Trovato» come azione appropriata quando una risorsa è stata temporaneamente spostata ad un URL diverso. A differenza del codice di stato 302, non permette di cambiare il metodo HTTP.
  • 308: «Reindirizzamento permanente». Il codice di stato 308 è il successore del codice di stato 301 «Permanently Moved». Non permette di cambiare il metodo HTTP e indica che la risorsa richiesta si trova ora permanentemente in un nuovo URL.

Codici di stato 400

Al livello 400, i codici di stato HTTP iniziano a diventare problematici. Quindi, questi sono codici di errore che specificano che c’è un errore nel tuo browser e/o nella tua richiesta.

  • 400 «Richiesta non valida: Il server non può restituire una risposta a causa di un errore lato client;
  • 401 «Unauthorized» o «Authorization Required»: Questo appare quando la risorsa di destinazione non ha credenziali di autenticazione valide. Puoi vedere questo se hai configurato l’autenticazione HTTP di base usando «htpasswd»;
  • 402 «Pagamento richiesto»: Originariamente, questo codice doveva essere utile come parte di un sistema di denaro digitale. Tuttavia, quel piano non si è mai realizzato. Invece, è utile per una varietà di piattaforme per indicare che un ordine non può essere effettuato, di solito a causa di una mancanza di fondi necessari. Esempi comuni includono:Hai raggiunto il tuo limite di richieste giornaliere per l’API di Google Developers;Non hai pagato il tuo Shopify e il tuo negozio è stato temporaneamente disabilitato;Il tuo pagamento tramite Stripe non è riuscito, o Stripe sta cercando di evitare un pagamento fraudolento.
  • Hai raggiunto il tuo limite di richieste giornaliere per l’API di Google Developers;
  • Non hai pagato il tuo Shopify e il tuo negozio è stato temporaneamente disattivato;
  • Il tuo pagamento tramite Stripe non è riuscito, o Stripe sta cercando di evitare un pagamento fraudolento.
  • 403 «L’accesso a questa funzione è proibito». Questo codice si verifica quando un utente cerca di accedere a qualcosa che non ha il permesso di visualizzare. Per esempio, cercare di accedere a contenuti protetti da password senza effettuare il login può produrre un errore 403;
  • 404 «La risorsa richiesta non è stata trovata»: Questo è il messaggio di errore più comune di tutti. Questo codice significa che la risorsa richiesta non esiste, e il server non sa se sia mai esistita;
  • 405 «Metodo non consentito»: Questo accade quando il server di hosting (server sorgente) supporta il metodo ricevuto, ma la risorsa di destinazione no;
  • 406 «Risposta non accettabile»: La risorsa richiesta è solo in grado di generare contenuto che non è accettabile secondo le intestazioni di accettazione inviate nella richiesta;
  • Hai raggiunto il tuo limite di richieste giornaliere per l’API di Google Developers;
  • Non hai pagato il tuo Shopify e il tuo negozio è stato temporaneamente disabilitato;
  • Il tuo pagamento tramite Stripe è fallito, o Stripe sta cercando di prevenire un pagamento fraudolento.
  • 407 «Proxy Authentication Required»: Un server proxy è in uso e richiede che il tuo browser si autentichi prima di continuare;
  • 408 «Server ran out of time waiting for the rest of the browser request»: Questo codice si verifica quando un server va offline mentre aspetta la richiesta completa del browser. In altre parole, il server non ha ricevuto la richiesta completa che dal browser. Una possibile causa potrebbe essere la congestione della rete, con conseguente perdita di pacchetti di dati tra il browser e il server;
  • 409 «Conflitto»: un codice di stato 409 significa che il server non ha potuto elaborare la richiesta del tuo browser perché c’è un conflitto con la risorsa interessata. Questo a volte si verifica a causa di più modifiche contemporanee;
  • 410 «La risorsa richiesta è scomparsa e non tornerà»: Questo è simile a un codice 404 «Non trovato», tranne che un 410 indica che la condizione è attesa e permanente;
  • 411 «Lunghezza richiesta»: Questo significa che la risorsa richiesta richiede che il cliente specifichi una certa lunghezza e non l’ha fatto;
  • 412 «Precondizione fallita»: Il tuo browser ha incluso alcune condizioni nelle sue intestazioni di richiesta e il server non ha soddisfatto tali specifiche;
  • 413 «Payload Too Large» o «Request Entity Too Large»: La tua richiesta è di dimensioni maggiori di quelle che il server vuole o può elaborare;
  • 414 «URI Too Long»: Questo è solitamente il risultato di una richiesta GET che è stata codificata come una stringa di query troppo grande da elaborare per il server;
  • 415 «Media Type Not Supported»: La richiesta include un tipo di media che il server o la risorsa non supporta;
  • 416 «Unsatisfactory Range»: La tua richiesta era per una parte di una risorsa che il server non può restituire;
  • 417 «Expectation failed»: Il server non può soddisfare i requisiti specificati nel campo di intestazione di attesa della richiesta;
  • 418 «I am a teapot»: Questo codice si verifica a causa delle teiere che ricevono richieste per fare il caffè. Inoltre, anche una battuta dell’aprile 1988.
  • 422 «Entità incompetente»: La richiesta del cliente contiene errori semantici e il server non può elaborarla;
  • 425 «Troppo presto»: Questo codice appare quando il server non è disposto ad elaborare una richiesta perché potrebbe apparire;
  • 426 «Update Required»: A causa del contenuto del campo d’intestazione update della richiesta, il client deve passare ad un protocollo diverso;
  • 428 «Prerequisite»: Il server richiede che le condizioni siano specificate prima di elaborare la richiesta;
  • 429 «Troppe richieste»: Questo accade quando l’utente ha inviato troppe richieste in un determinato periodo di tempo (limite di velocità). Questo può accadere a volte a causa di bot o script che cercano di accedere al tuo sito. In questo caso, potresti provare a cambiare il tuo URL di accesso a WordPress.
  • 431 «Request header fields too large»: Il server non può elaborare la richiesta perché i campi dell’intestazione sono troppo grandi. Questo può indicare un problema con un singolo campo dell’intestazione, o tutti insieme;
  • 451 «Non disponibile per motivi legali»: L’operatore del server ha ricevuto una richiesta di proibire l’accesso alla risorsa che hai richiesto (o un insieme di risorse che includono quella richiesta). Curiosità: Questo codice è un riferimento al romanzo Fahrenheit 451 di Ray Bradbury;
  • 499 «Request closed by client»: Questo arriva da NGINX quando il client chiude la richiesta mentre Nginx la sta ancora elaborando.
  • Codici di stato 500

    I codici di stato di livello 500 sono ancora errori. Tuttavia, denotano che il problema è alla fine del server. Questo può renderli più difficili da risolvere.

    • 500 «Si è verificato un errore sul server e la richiesta non ha potuto essere completata»: Questo è un codice generico che significa semplicemente «errore interno del server». Qualcosa è andato storto sul server e la risorsa non è stata consegnata. Questo codice è solitamente generato da plugin di terze parti, da PHP difettoso o anche dalla rottura della connessione al database;
  • 501 «Not Implemented»: Questo errore indica che il server non supporta la funzionalità necessaria per soddisfare la richiesta. Questo è quasi sempre un problema del server web stesso e di solito dovrebbe essere risolto dal tuo hosting;
  • 502 «Bad Gateway»: Questo codice di errore significa tipicamente che un server ha ricevuto una risposta non valida da un altro, come quando è in uso un server proxy. Altre volte una query o una richiesta richiede troppo tempo e quindi viene cancellata o uccisa dal server e la connessione al database si interrompe;
  • 503 «Server is unavailable to handle this request at this time»: La richiesta non può essere completata in questo momento. Questo codice avviene da parte di un server sovraccarico che non è in grado di gestire ulteriori richieste;
  • 504 «The server, acting as a gateway, timed out waiting for another server’s response»: Questo è il codice restituito quando ci sono due server coinvolti nell’elaborazione di una richiesta, e il primo server continua ad aspettare la risposta del secondo server;
    • 505 «HTTP Version Not Supported»: Il server non supporta la versione HTTP che il client ha utilizzato per fare la richiesta;
    • 511 «Network Authentication Required»: Questo codice di stato viene inviato quando la rete che stai cercando di utilizzare richiede qualche forma di autenticazione prima di inviare la richiesta al server. Per esempio, potresti aver bisogno di accettare i termini e le condizioni di un hotspot Wi-Fi pubblico;
    • 521: «Web server is down». L’errore 521 è un messaggio di errore specifico di Cloudflare. Significa che il tuo browser web è stato in grado di connettersi con successo a Cloudflare, ma Cloudflare non è stato in grado di connettersi al server web di origine.

    Ti è piaciuto? Cosa ne pensi? Lascia il tuo commento. Inoltre, non dimenticare di unirti al nostro gruppo Telegram. Basta cliccare su «Canale Telegram» che si trova in alto a destra della pagina!