I codici di stato HTTP sono una sorta di breve nota proveniente dal server web che viene aggiunta sulla parte superiore di una pagina web. In realtà il codice non fa parte della pagina web. È piuttosto un messaggio del server che vi permette di sapere qual è stato l’esito della richiesta di visualizzazione di una pagina quando questa è stata ricevuta dal server.

Questi messaggi vengono restituiti ogni volta che il browser interagisce con il server, anche se non li vedete così spesso. Se siete proprietari di un sito web o sviluppatori, la comprensione dei codici di stato HTTP è fondamentale. Perché quando si presentano, questi costituiscono uno strumento inestimabile per diagnosticare e correggere errori di configurazione del sito web.

Questo articolo presenta i più comuni stati del server e codici di errore e spiega cosa rivelano su ciò che sta accadendo dietro le quinte del vostro server.

Ancora alla ricerca dell'host perfetto per WordPress?

Prova il servizio premium di hosting WordPress gestito di Kinsta per creare un'esperienza senza problemi del tuo sito.
  • Controlli stilizzati rappresentanti la gestione Completamente gestito
  • Scudo con una spunta che rappresenta la sicurezzaSicuro come Fort Knox
  • Linee convergenti rappresentanti migrazioniMigrazioni gratuite
  • Tre galloni verso destra che rappresentano la velocità del serverMassima velocità
  • Freccia circolare con un punto centrale che rappresenta i backupBackup giornalieri
  • Esagoni distanziati rappresentanti lo stack del nostro serverGoogle Cloud Platform

Da dove vengono? Dove vanno?

Ogni volta che fate clic su un link o digitate un URL e premi “Invio”, il browser invia una richiesta a un server web. Il server web riceve ed elabora la richiesta, quindi restituisce le risorse richieste insieme a un’intestazione HTTP.

I codici di stato HTTP vengono consegnati al vostro browser nell’intestazione HTTP. Sebbene i codici di stato vengono restituiti ogni volta che il tuo browser richiede una pagina web o una risorsa, il più delle volte non li vedete. È quando qualcosa va storto che potreste visualizzare un codice di stato HTTP nel vostro browser. È il modo del server di dire: “Qualcosa non va bene. Ecco un codice che spiega cosa è andato storto.”

Codice di stato HTTP 404 di Google

Codice di stato HTTP 404 di Google

Se volete vedere i codici di stato che normalmente il vostro browser non mostra, avete a disposizione molti strumenti che rendono l’operazione molto semplice. Sono disponibili estensioni per browser developer-friendly come Chrome e Firefox, e ci sono molti strumenti per il recupero delle intestazioni basati sul web come Web Sniffer.

Per vedere il codice di stato HTTP con uno di questi strumenti, cercate la riga che appare nella parte superiore del rapporto che dice “Stato: HTTP/1.1” seguito dal codice di stato restituito dal server.

Alle prese con i tempi di inattività e problemi di WordPress? Kinsta è la soluzione di hosting progettata per farvi risparmiare tempo! Scopri i nostri servizi

Classi – Codici di stato HTTP

L’elenco dei codici di stato HTTP è suddiviso in 5 classi:

  • 100: codici informativi che indicano che la richiesta avviata dal browser sta continuando.
  • 200: codici di successo restituiti quando la richiesta del browser è stata ricevuta, compresa ed elaborata dal server.
  • 300: codici di reindirizzamento restituiti quando una nuova risorsa è stata sostituita alla risorsa richiesta.
  • 400: codici di errore del client che indicano che si è verificato un problema con la richiesta.
  • 500: codici di errore del server che indicano che la richiesta è stata accettata, ma che un errore sul server ha impedito il soddisfacimento della richiesta.

All’interno di ognuna di queste classi esiste una varietà di codici che possono essere restituiti dal server. Ogni singolo codice ha un significato specifico e unico.

Elenco dei codici di stato HTTP

Ci sono oltre 40 diversi codici di stato del server. Tuttavia, in realtà ci sono meno di una dozzina di codici in cui vi imbatterete regolarmente. Se gestite un sito Web, acquisite una buona padronanza di questi codici e capirete a cosa vi trovate di fronte nella maggior parte dei casi in cui appare un codice di stato HTTP. Ecco un elenco dei codici di stato HTTP più comuni:

Codice di stato 200

  • 200: “È tutto OK.” Questo è il codice che viene consegnato quando una pagina web o una risorsa agisce esattamente come previsto.

Codice di stato 300

  • 301: “The requested resource has been moved permanently” (“La risorsa richiesta è stata spostata in modo permanente”). Questo codice viene consegnato quando una pagina Web o una risorsa sono state sostituite in modo permanente con una risorsa diversa. Viene utilizzato per il reindirizzamento URL permanente.
  • 302: “The requested resource has moved, but was found” (“La risorsa richiesta è stata spostata, ma è stata trovata”). Questo codice viene utilizzato per indicare che la risorsa richiesta è stata trovata, ma non nel punto in cui era prevista. Viene utilizzato per il reindirizzamento URL temporaneo.
  • 304: “The requested resource has not been modified since the last time you accessed it” (“La risorsa richiesta non è stata modificata dall’ultima volta che è stata eseguita l’accesso”). Questo codice indica al browser che le risorse memorizzate nella cache del browser non sono state modificate. È utilizzato per accelerare la consegna delle pagine web riutilizzando le risorse scaricate in precedenza.

Codice di stato 400

  • 401: “Unauthorized” (“Non autorizzato”). Viene restituito dal server quando la risorsa di destinazione non dispone di credenziali di autenticazione valide.
  • 403: “Access to that resource is forbidden” (“L’accesso a questa risorsa è vietato”) Questo codice viene restituito quando un utente tenta di accedere a qualcosa a cui non ha il permesso di accedere. Ad esempio, provare a visualizzare il contenuto protetto da password senza accedere potrebbe produrre un errore 403.
  • 404: “The requested resource was not found” (“La risorsa richiesta non è stata trovata”). Il messaggio di errore più comune di tutti. Questo codice indica che la risorsa richiesta non esiste e che il server non sa se è mai esistita.
  • 405: “Method not allowed” (“Metodo non consentito”). Questo viene generato quando il server di hosting (server di origine) supporta il metodo ricevuto, ma la risorsa di destinazione no.
  • 406: “Not acceptable response” (“Risposta non accettabile”). La risorsa richiesta è in grado di generare solo contenuto non accettabile in base alle intestazioni Accept inviate nella richiesta.
  • 408: “The server timed out waiting for the rest of the request from the browser” (“Timeout del server in attesa del resto della richiesta dal browser”). Questo codice viene generato quando un server va in timeout mentre attende la richiesta completa dal browser. In altre parole, il server non ha ricevuto la richiesta completa inviata dal browser. Una possibile causa potrebbe essere la congestione della rete con conseguente perdita di pacchetti di dati tra il browser e il server.
  • 410: “The requested resource is gone and won’t be coming back” (“La risorsa richiesta è andata e non tornerà”). Simile a un 404 “Not Found”, la restituzione di un 410 indica che la condizione è prevista e permanente.
  • 429: “Too many requests.” Generato dal server quando l’utente ha inviato troppe richieste in un dato intervallo di tempo (limitazione della velocità). Questo a volte può capitare a causa di bot o script che tentano di accedere al vostro sito. In questo caso, potreste provare a cambiare il vostro URL di accesso a WordPress.

    429 Too Many Requests

    429 Too Many Requests

  • 499: “Client closed request” (“Il client ha chiuso la richiesta”). Viene restituito da NGINX quando il client chiude la richiesta mentre NGINX lo sta ancora elaborando.

Codice di stato 500

  • 500: “There was an error on the server and the request could not be completed” (“Si è verificato un errore sul server e la richiesta non è stata completata”). Un codice generico che indica semplicemente “errore interno del server”. Qualcosa è andato storto sul server e la risorsa richiesta non è stata consegnata. Questo codice è in genere generato da plugin di terze parti, codice PHP difettoso o anche dall’interruzione della connessione al database. Consultate i nostri tutorial su come risolvere l’errore nello stabilire una connessione al database e altri modi per risolvere un errore 500 internal server error.
    Errore nello stabilire una connessione col database

    Errore nello stabilire una connessione col database

  • 501: “Not Implemented”. Questo errore indica che il server non supporta la funzionalità richiesta per soddisfare la richiesta. Si tratta quasi sempre di un problema sul server stesso e in genere deve essere risolto dall’host. Leggete i nostri consigli su come risolvere un errore 501 not implemented error.
  • 502: “Bad Gateway”. Questo codice di errore indica in genere che un server ha ricevuto una risposta non valida da un altro server. A volte una query o una richiesta richiederà troppo tempo e quindi viene cancellata o uccisa dal server e la connessione al database viene interrotta. Leggete il nostro tutorial approfondito su come correggere l’errore 502 Bad Gateway error.
  • 503: “The server is unavailable to handle this request right now” (“Il server non è disponibile per gestire questa richiesta in questo momento”). La richiesta non può essere completata al momento. Questo codice può essere restituito da un server sovraccarico che non è in grado di gestire richieste aggiuntive.
  • 504: “The server, acting as a gateway, timed out waiting for another server to respond” (“Il server, che funge da gateway, è scaduto in attesa che un altro server risponda”). Il codice è restituito quando ci sono due server coinvolti nell’elaborazione di una richiesta e il primo server va in timeout in attesa che il secondo server risponda. Ecco altre informazioni su come correggere gli errori 504.

Ulteriori informazioni sui codici di stato HTTP

Quello sopra riportato è l’elenco della maggior parte dei codici di stato HTTP in cui è più probabile vi imbattiate con regolarità. Tuttavia, ci sono molti altri codici che potreste incontrare di tanto in tanto. Per acquisire informazioni sui codici di stato HTTP meno frequenti non presenti in questo elenco date un’occhiata alle seguenti risorse: