Gli errori nel protocollo HTTP sono il comportamento di un server Web quando, per qualche motivo, non può inviare con successo il documento richiesto al client. Il server comunica il codice di errore al client nell’intestazione HTTP.

Ogni errore emesso dal server web ha un codice corrispondente alla classe di errore che si è verificato. I codici di errore (come 403 o 404) sono standardizzati e descritti in dettaglio nello standard Internet RFC2616 (Hypertext Transfer Protocol — HTTP/1.1). Per una descrizione dettagliata di un errore specifico si può fare riferimento a questo documento come fonte originale.

Un esempio di richiesta web effettuata manualmente con il programma telnet:

# telnet www.ava.hosting 80

Prova 217.16.20.20…

Connesso a www.ava.hosting.

HEAD / HTTP/1.1

Host: www.ava.hosting

HTTP/1.1 200 OK

Data: Mon, 29 Mar 2004 08:24:07 GMT

Server: CoffeeMaker/1.12 (Unix) mod_ssl/2.8 OpenSSL/0.9

Il server ha restituito un codice di errore 200 (OK). Questo è un esempio di richiesta corretta a un documento esistente sul server che è stata completata con successo. Se il documento richiesto non esistesse sul server, il server si comporterebbe diversamente e restituirebbe un errore 404 (documento non trovato):

# telnet www.ava.hosting 80

Provato 217.16.20.20…

Connesso a www.ava.hosting.

TESTA /abcdef HTTP/1.1

Host: www.ava.hosting

HTTP/1.1 404 Non trovato

Data: Mon, 29 Mar 2004 08:42:01 GMT

Server: CoffeeMaker/1.12 (Unix) mod_ssl/2.8 OpenSSL/0.9

I codici di errore possono essere positivi e negativi, oppure di successo e di insuccesso. Esistono quattro tipi di codici:

  • 2xx – richiesta completata con successo – il server ha inviato con successo il documento richiesto al client
  • 3xx – la richiesta è stata reindirizzata con successo – anche questo è un codice positivo. Indica che la richiesta del client è stata reindirizzata. Viene utilizzato quando si lavora con i server di caching, oltre che nell’algoritmo quando il browser client controlla la rilevanza del documento sul server (data di creazione, dimensioni, ecc.)
  • 4xxerrore – il documento non è stato inviato al client perché si è verificato un errore critico. Ad esempio, il documento richiesto non è stato trovato sul server, l’accesso al documento è negato e così via
  • 5xxerrore del server – un errore critico sul server. Ad esempio, lo script dell’utente non ha potuto essere elaborato normalmente sul server