Codici di stato HTTP spiegati: 200, 301, 404, 403 e 500

Tempo di lettura ca.: 11 minuti

Quando visiti una pagina web, il tuo browser comunica in background con un server web. Il server risponde alla richiesta, tra le altre cose, con un codice di stato HTTP.

Questi codici di stato indicano se una richiesta è stata elaborata con successo, se è in corso un reindirizzamento, se la risorsa richiesta non è stata trovata o se si è verificato un altro errore.

Tra i codici di stato più importanti per i proprietari di siti web ci sono 200, 301, 403, 404 e 500. Chi ne conosce il significato può identificare molti problemi del sito web più rapidamente e cercare in modo più mirato la causa effettiva.

Breve spiegazione: Un codice di stato HTTP è una risposta standardizzata del server a una richiesta HTTP. La prima cifra indica già a quale gruppo appartiene la risposta: successo, reindirizzamento, problema con la richiesta o errore lato server.

Cosa succede quando si visita una pagina web? #

Ad esempio, se visiti il seguente indirizzo:

https://example.com/kontakt

il tuo browser invia una richiesta HTTP al server competente.

In parole semplici, il processo si svolge così:

Browser
   ↓
Richiesta HTTP
   ↓
Server Web
   ↓
Risposta HTTP
   ↓
Codice di stato + ulteriori informazioni + eventualmente contenuto
   ↓
Browser

Se tutto funziona, il browser riceve ad esempio il codice di stato:

200 OK

Se la pagina è stata spostata permanentemente, anziché 301 - Spostato permanentemente essere restituita. Se non esiste, la risposta 404 Non Trovato lauten.

Il codice di stato HTTP e la pagina web visibile non sono la stessa cosa #

Un codice di stato è un'informazione tecnica all'interno della risposta HTTP. I visitatori di solito non vedono semplicemente il numero 200, 404 o 500.

Il server può inoltre fornire una pagina HTML che il browser visualizza.

Pertanto, ad esempio, potrebbe apparire una pagina di errore personalizzata, mentre tecnicamente il server restituisce il codice di stato 404 restituisce.

Per una diagnosi affidabile non dovresti quindi giudicare esclusivamente in base all'aspetto di una pagina.

Le cinque classi di codici di stato HTTP #

I codici di stato HTTP sono composti da tre cifre. La prima cifra assegna la risposta a una determinata classe.

AreaSignificatoSemplificato
1xxInformativoInformazioni sulla richiesta in corso
2xxRiuscitoRichiesta riuscita
3xxReindirizzamentoUlteriore azione o reindirizzamento
4xxErrore del clientLa richiesta non può essere soddisfatta in questo modo
5xxErrore del serverIl server non è riuscito a elaborare una richiesta fondamentalmente valida

Per il normale funzionamento di un sito web incontri molto spesso codici nei campi 2xx, 3xx, 4xx e 5xx.

200 OK – Richiesta riuscita #

200 OK appartiene alla classe delle risposte HTTP di successo.

Nel caso di una normale visualizzazione di pagina, ciò significa, in parole semplici, che la richiesta è stata elaborata con successo e che la risorsa richiesta può essere consegnata.

Browser
   ↓
GET /kontakt/
   ↓
Server
   ↓
200 OK
   ↓
La pagina dei contatti viene inviata

Per una pagina HTML regolarmente raggiungibile è 200 OK perciò un codice di stato tipico.

200 non significa automaticamente che dal punto di vista dei contenuti sia tutto corretto. #

Il codice di stato 200 indica che la richiesta HTTP è stata elaborata con successo. Tuttavia, non valuta la qualità del contenuto della pagina consegnata.

Ad esempio, una pagina può essere tecnicamente dotata di 200 OK rispondere e tuttavia contenere un testo errato, un modulo difettoso o informazioni obsolete.

Anche una pagina di errore configurata in modo errato può in alcuni casi mostrare visivamente „Pagina non trovata“, sebbene il server 200 OK fornisce. Questa situazione viene spesso definita come soft 404.

301 Moved Permanently – reindirizzato permanentemente #

Il codice di stato 301 - Spostato permanentemente appartiene al gruppo di 3xx-Rispondi.

Segnala che la risorsa richiesta è permanentemente raggiungibile a un altro URL.

Esempio:

https://example.com/alte-seite/
        ↓
301 Moved Permanently (Spostato permanentemente)
        ↓
https://example.com/neue-seite/

Il browser può quindi aprire automaticamente il nuovo indirizzo.

Un reindirizzamento 301 è utile, ad esempio, quando l'URL di una pagina è cambiato in modo permanente.

La configurazione pratica è spiegata su Configurazione del reindirizzamento 301: reindirizzare gli URL in modo permanente.

Il 301 non è l'unico stato di reindirizzamento #

Accanto 301 esistono ulteriori codici di stato HTTP per i reindirizzamenti.

Esempi importanti sono:

301 → permanente
302 → temporaneo
307 → temporaneo, il metodo rimane invariato
308 → permanente, il metodo rimane invariato

Spieghiamo le differenze in dettaglio su 301, 302, 307 e 308: i reindirizzamenti HTTP spiegati in modo semplice.

403 Forbidden – Accesso negato #

403 Proibito appartiene al gruppo di 4xx-Codici di stato.

Il server ha ricevuto e compreso la richiesta, ma nega l'accesso alla risorsa richiesta.

In sintesi:

Il browser richiede la risorsa
        ↓
Il server comprende la richiesta
        ↓
L'accesso non è consentito
        ↓
403 Forbidden

Un errore 403 è quindi nettamente diverso da un errore 404.

Non confondere 403 e 404 #

I due codici di stato appartengono comunque allo stesso 4xx-Classe, descrivono però situazioni diverse.

403 Forbidden
→ L'accesso alla risorsa è negato

404 Not Found
→ Risorsa non trovata a questo URL

Durante la ricerca degli errori questa distinzione è importante perché le possibili cause e soluzioni sono diverse.

Cosa può causare un errore 403? #

Uno stato 403 può avere diverse cause. Quale di queste sia applicabile dipende dalla specifica configurazione del sito web e del server.

Possibili cause sono, ad esempio, restrizioni di accesso, determinate regole di sicurezza o autorizzazioni non appropriate.

Anche le regole in un file di configurazione come .htaccess possono svolgere un ruolo nel caso di server web configurati di conseguenza.

Importante: Non modificare i permessi dei file o le regole di sicurezza a caso solo per far scomparire un errore 403. Bisogna prima chiarire il motivo per cui l'accesso viene negato.

404 Non trovato – Risorsa non trovata #

404 Non Trovato è uno dei codici di stato HTTP più noti.

Significa che la risorsa richiesta non è stata trovata all'URL chiamato.

Esempio:

https://example.com/nicht-vorhandene-seite/
        ↓
404 Non Trovato

Le cause tipiche sono pagine eliminate, URL modificati, link interni errati o errori di digitazione in un indirizzo.

Ti spieghiamo come valutare e gestire correttamente tali errori su Individuare e risolvere gli errori 404.

Uno stato 404 può essere del tutto corretto #

Se una risorsa non esiste effettivamente, una corrispondente 404-La risposta non è automaticamente un difetto tecnico.

Internet contiene un numero infinito di URL immaginabili che non sono mai esistiti sul tuo sito web.

Se, ad esempio, qualcuno accede al seguente indirizzo fittizio:

https://example.com/gibt-es-nicht-12345

È fondamentalmente opportuno che il server comunichi che questa risorsa non è stata trovata.

Un 404 diventa problematico in particolare quando una risorsa importante dovrebbe in realtà essere presente o un link interno punta per errore a un URL non più esistente.

500 Internal Server Error – Errore interno del server #

Errore interno del server appartiene alla classe di 5xx-Codici di stato.

Il codice di stato indica che il server ha riscontrato una condizione imprevista o un errore durante l'elaborazione della richiesta e pertanto non ha potuto completarla con successo.

Browser
   ↓
Richiesta HTTP
   ↓
Server
   ↓
Errore durante l'elaborazione
   ↓
500 Internal Server Error

A differenza di 404 non sta forse il problema qui semplicemente nel fatto che non è stata trovata una determinata URL?.

Cosa può causare un errore 500? #

Un errore 500 è uno stato di errore generico del lato server e non rivela da solo la causa esatta.

Nel caso di un sito Web, ad esempio, potrebbero essere coinvolti codici applicativi difettosi, regole di configurazione problematiche o altri errori di elaborazione lato server.

Nelle pagine Web basate su PHP, ad esempio, un errore all'interno di un'applicazione, di un plugin, di un tema o di un proprio script può avere un ruolo.

Anche una direttiva di configurazione errata può, a determinate condizioni, attivare uno stato 500.

Importante: Errore interno del server è una categoria di errore e non una diagnosi completa. Per la causa effettiva, è necessario esaminare ulteriori informazioni come i registri degli errori e le ultime modifiche apportate.

Cosa fare in caso di errore 500? #

Verifica prima se l'errore riguarda una singola URL o l'intero sito web.

Valuta quindi se siano state apportate modifiche immediatamente prima.

Ciò può includere, ad esempio, modifiche a:

Plugin
Temi
Codice PHP
File di configurazione
Versione PHP
File
Applicazione del sito web

essere.

Se l'errore si è verificato subito dopo una determinata modifica, questa informazione è particolarmente preziosa per la risoluzione dei problemi.

Log di errori anziché tentativi alla cieca #

In caso di errori lato server, dovresti consultare i registri degli errori o i log disponibili, se possibile.

Un registro eventi può fornire indicazioni molto più concrete sulla causa rispetto al messaggio generale Errore interno del server.

Non modificare più impostazioni contemporaneamente per tentativi. In questo modo diventa spesso più difficile capire quale modifica abbia effettivamente causato o risolto il problema.

500 non significa automaticamente che l'intero server sia guasto #

Un errore 500 può anche riguardare solo un determinato sito web, un'applicazione o una singola funzione.

Se ad esempio uno script difettoso viene eseguito solo su una determinata pagina, altre aree possono continuare a funzionare.

Perciò dovresti prima verificare quanto è grande l'area effettivamente interessata.

Qual è la differenza tra 4xx e 5xx? #

La distinzione aiuta nella prima classificazione di un problema.

classe socialeSignificatoEsempi
4xxLa richiesta non può essere evasa nella forma attuale403, 404
5xxIl server non è riuscito a elaborare una richiesta fondamentalmente valida500, 502, 503, 504

La classe di stato fornisce quindi una prima direzione per la ricerca degli errori, ma non sostituisce una diagnosi specifica.

Altri codici di stato 2xx comuni #

Accanto 200 OK ci sono altri codici di stato di successo.

Ad esempio significa 201 Creato, che una richiesta è andata a buon fine ed è stata creata una nuova risorsa.

204 Nessun Contenuto significa che la richiesta è stata elaborata con successo, ma non viene restituito alcun contenuto del messaggio.

Tali codici si incontrano più raramente da parte dei gestori di siti Web durante la normale visualizzazione di una pagina HTML, ma giocano un ruolo, ad esempio, nelle applicazioni Web e nelle API.

Altri codici di stato 4xx comuni #

Oltre al 403 e al 404, esistono altri codici di stato di questa classe.

Alcuni esempi:

400 Bad Request
→ La richiesta è errata o non può essere elaborata

401 Unauthorized
→ È necessaria l'autenticazione o è mancante

403 Forbidden
→ Accesso negato

404 Not Found
→ Risorsa non trovata

429 Too Many Requests
→ Troppe richieste in un determinato periodo di tempo

L'interpretazione esatta dovrebbe sempre avvenire nel contesto della rispettiva applicazione.

401 e 403 non sono la stessa cosa #

Le denominazioni possono creare confusione nella vita di tutti i giorni.

401 Non autorizzato viene utilizzato quando è necessaria un'autenticazione valida per l'accesso.

403 Proibito significa invece che il server comprende la richiesta ma nega l'accesso.

I due codici di stato non dovrebbero quindi essere usati semplicemente come sinonimi.

Altri codici di stato 5xx comuni #

Anche nel campo degli errori del server sono presenti diversi codici di stato importanti.

500 Internal Server Error
→ errore interno del server generico

502 Bad Gateway
→ risposta non valida da un server upstream

503 Service Unavailable
→ servizio attualmente non disponibile

504 Gateway Timeout
→ il server upstream non ha risposto in tempo

Soprattutto nel caso di siti Web con proxy inversi, diversi servizi di server o componenti esterni, la distinzione di questi codici può essere utile per la diagnosi.

503 Servizio non disponibile #

503 Servizio non disponibile significa che il server o il servizio non è attualmente in grado di elaborare la richiesta.

Ciò può essere dovuto, ad esempio, a un sovraccarico temporaneo o a interventi di manutenzione.

Uno stato 503 descrive quindi una situazione diversa rispetto a un generale Errore interno del server.

502 Bad Gateway e 504 Gateway Timeout #

Questi codici di stato si verificano comunemente in architetture in cui un server o un gateway comunica con un ulteriore servizio.

502 Bad Gateway segnala che è stata ricevuta una risposta non valida.

Gateway Timeout 504 significa invece che una risposta necessaria non è arrivata in tempo.

Per i gestori di siti web questa distinzione è utile perché non tutti 5xx-l'errore ha la stessa causa.

Codici di stato HTTP e SEO #

I codici di stato HTTP aiutano anche i motori di ricerca a capire cosa succede a un URL.

Alcuni esempi semplificati:

200
→ Risorsa accessibile con successo

301
→ Risorsa spostata in modo permanente

404
→ Risorsa non trovata a questo URL

5xx
→ Problema lato server durante il recupero

Ecco perché è importante che lo stato tecnico corrisponda il più possibile alla situazione reale dell'URL.

Una pagina di errore con codice 200 OK può essere problematica #

Supponendo che un URL non esista. Invece di uno stato 404, tuttavia, il server restituisce una pagina di errore con:

200 OK

Tecnicamente il server comunica in questo modo che la richiesta è andata a buon fine, nonostante il contenuto desiderato non sia presente.

Una simile costellazione può confondere inutilmente i motori di ricerca e gli strumenti di diagnostica.

Una risorsa reale inesistente non dovrebbe quindi essere simulata solo attraverso il design di una pagina di errore.

Un reindirizzamento non è la stessa cosa di una pagina di errore #

Durante un reindirizzamento il client riceve un 3xx-Stato e un nuovo indirizzo di destinazione.

Invece, in caso di errore 404, viene comunicato che la risorsa non è stata trovata.

301
vecchio URL
   ↓
nuovo URL

404
URL richiesto
   ↓
Risorsa non trovata

Quale risposta sia corretta dipende da cosa sia effettivamente successo alla risorsa originale.

Come posso verificare il codice di stato HTTP di un URL? #

Per un controllo tecnico puoi ad esempio utilizzare gli strumenti per sviluppatori di un browser moderno.

Apri lì la visualizzazione della rete e carica successivamente l'URL in questione.

Puoi quindi esaminare le singole richieste HTTP e i loro codici di stato.

A seconda del browser, ad esempio, vengono visualizzati valori come 200, 301, 404 o 500 visualizzato direttamente nella panoramica.

Verificare correttamente i reindirizzamenti nel browser #

Durante un reindirizzamento, la barra degli indirizzi mostra solitamente già il nuovo indirizzo di destinazione dopo l'operazione.

Tuttavia, questo non ti permette necessariamente di vedere quale codice di stato è stato utilizzato per il passaggio precedente.

Nella visualizzazione della rete, invece, puoi esaminare la catena di reindirizzamento.

GET /alte-url/
301

GET /neue-url/
200

Ciò consente di vedere che la vecchia URL con 301 inoltrato e successivamente la nuova destinazione con successo 200 è stata consegnata.

Più codici di stato possono appartenere a una singola visualizzazione di pagina #

Un sito web moderno consiste solitamente di qualcosa di più del solo documento HTML.

Il browser carica inoltre, ad esempio, immagini, fogli di stile, file JavaScript e altre risorse.

Pertanto, nella visualizzazione di rete, con una singola richiesta di pagina possono comparire numerose richieste HTTP con codici di stato differenti.

Se desideri esaminare l'URL di una pagina specifica, assicurati di valutare effettivamente la risposta per il documento corrispondente e non accidentalmente solo un file di immagine o di script.

Prima verifica lo status code, poi cerca la causa #

In caso di un sito Web non funzionante, vale la pena di stabilire innanzitutto quale tipo di problema sia effettivamente presente.

La pagina non funziona come previsto
        ↓
Controlla lo stato HTTP
        ↓
200? → Analizza più a fondo il contenuto/la funzionalità
301? → Controlla la destinazione del reindirizzamento
403? → Controlla accesso/permessi/regole di sicurezza
404? → Controlla URL/risorsa
500? → Analizza l'errore del server

Questa prima classificazione può evitare che tu cerchi la causa nel posto sbagliato.

Non modificare più impostazioni contemporaneamente #

Se si verifica un errore, non dovresti modificare casualmente DNS, PHP, permessi dei file, reindirizzamenti e altre impostazioni contemporaneamente.

Determina prima quale codice di stato è presente e quale livello è probabilmente interessato.

Valuta inoltre quale modifica è stata apportata immediatamente prima che si verificasse il problema.

Consiglio pratico: La buona risoluzione dei problemi inizia con l'osservazione e la delimitazione. Solo dopo si dovrebbe modificare un'impostazione specifica.

Codici di stato HTTP durante il rilancio di un sito web #

Dopo un rilancio, in particolare i codici di stato 200, 301 e 404 interessante.

Le nuove URL importanti dovrebbero essere accessibili con successo. Le vecchie URL con un chiaro nuovo successore dovrebbero essere reindirizzate correttamente. Le URL inesistenti senza un sostituto sensato possono invece continuare a restituire uno stato di errore appropriato.

Un controllo di rilancio semplificato si presenta ad esempio così:

Nuovo URL importante
→ 200

Vecchio URL con successore
→ 301 → nuovo URL → 200

URL inesistente senza successore
→ 404

Codici di stato e monitoraggio di siti web #

Anche i sistemi di monitoraggio possono utilizzare i codici di stato HTTP per verificare la raggiungibilità di un sito web.

Se uno normalmente con 200 se la parte rispondente restituisce improvvisamente uno stato di errore, ciò può indicare un problema.

Una mera risposta HTTP non significa quindi necessariamente che un sito web funzioni in modo completamente corretto. È determinante anche quale stato viene restituito e quale comportamento è atteso per l'URL monitorato.

Tratteremo questo argomento in dettaglio più avanti nella sezione Monitoraggio di siti web: monitorare la disponibilità e le interruzioni.

Una panoramica dei codici di stato più importanti #

CodiceNomeSignificato
200OKRichiesta riuscita
301Spostato permanentementeRisorsa definitivamente spostata
302TrovatoReindirizzamento temporaneo
307Reindirizzamento temporaneoReindirizzamento temporaneo alla ricezione del metodo
308Reindirizzamento permanenteReindirizzamento permanente alla ricezione del metodo
400Richiesta non validaImpossibile elaborare correttamente la richiesta
401Non autorizzatoAutenticazione richiesta
403ProibitoAccesso negato
404Non trovatoRisorsa non trovata
429Troppe richiesteTroppe richieste
500Errore interno del serverErrore interno del server generico
502Bad GatewayRisposta non valida da un servizio precedente
503Servizio non disponibileServizio attualmente non disponibile
504Timeout del gatewayRisposta da un servizio precedente non ricevuta in tempo

Riepilogo #

I codici di stato HTTP sono risposte standardizzate di un server alle richieste HTTP. Aiutano browser, motori di ricerca, sistemi di monitoraggio e gestori di siti Web a capire cosa è successo a una richiesta.

200 OK rappresenta una richiesta riuscita. 301 - Spostato permanentemente indica un reindirizzamento permanente. 403 Proibito significa che l'accesso è negato. 404 Non Trovato indica che una risorsa non è stata trovata all'URL richiesto. Errore interno del server indica un errore lato server durante l'elaborazione.

Die erste Ziffer eines Statuscodes liefert bereits eine wichtige Orientierung: 2xx steht für erfolgreiche Antworten, 3xx für Weiterleitungen, 4xx für Probleme bei der Erfüllung einer Anfrage und 5xx für serverseitige Fehler.

Bei der Fehlersuche solltest du deshalb zunächst den tatsächlichen HTTP-Status prüfen und erst anschließend die mögliche Ursache untersuchen.

Der Statuscode löst ein Problem nicht – aber er zeigt dir häufig, in welcher Richtung du nach der Ursache suchen solltest.

Ultimo aggiornamento 30 agosto 2026
Questo articolo è stato utile?
Contenuto
Consenso ai cookie con Real Cookie Banner