I codici di stato di http si suddividono in 5 macro categorie che rappresentano messaggi standardizzati ITEF RFC 2616. A questi se ne aggiungono altri specifici introdotti dal server Microsoft IIS. In ogni modo i principali codici di stato utilizzati dal server Apache.
A sua volta ogni macro categoria si suddivide in due o più categorie che vi andiamo adesso a elencare.
Codice HTTP 1xx Informazioni
Questo codice viene processato dal server http quando una richiesta è stata inviata e ricevuta. Si divide in
- 100 Continue quando il server remodo ha ricevuto l’header della richiesta dal client
- 101 Switching Protocols in caso di una richiesta di cambio di protocollo dal client al server
Codice HTTP 2xx Success
Quando l’azione oltre che ricevuta dal server è stata anche accettata dallo stesso e la sua elaborazione è pronta per essere processata.
- 200 OK richiesta andata a buon fine
- 201 Created richiesta creata
- 202 Richiesta accettata e in fase di elaborazione
- 203 Non-Authoritative Information informazioni non autorizzate
- 204 No Content contenuto non ricevuto dal client
- 205 Reset Content contenuto cancellato
- 206 Partial Content contenuto parzialmente ricevuto
- 207 Multi-Status per le specifiche xml
3xx Redirection
Quando l’informazione non è completata e il client devi inviare altre azioni
- 300 Multiple Choices
- 301 Moved Permanently quando il contenuto è stato completamente rimosso e non si trova piu’ nell’url indicato dal Client.
- 302 Found la richiesta fatta dal client è stata trovata.
- 303 See Other quando la risposta puo’ essere richiesta utilizzando il metodo GET
- 304 quando la richiesta non è stata modificata rispetto a quella precedente.
- 305 Use Proxy in caso che il client sia un browser che gestisca un proxy. Vedi Opera Turbo.
- 307 Temporary Redirect quando la ricehista è temporanemnte non presente a quell’url indicato dal client..
- 308 Permanent Redirect richiesta redirect in modo permamente.
4xx Client Error
Nel caso in cui la sintassi della richiesta sia errata.
- 400 Bad Request errore di sintassi nella richiesta
- 401 Unathorized utilizzato in caso di autenticazione del client fallita
- 402 Payment Required in caso di richiesta di pagamento. In disuso.
- 403 Forbidden richiesta sintatticamente corretta ma il Server si rifiuta di validarla.
- 404 Not Found risorda non disponibile.
- 405 Method Not Allowed quando si utilizza un metodo GET ma si prevedeva un POST e viceversa.
- 406 Not Acceptable richiesta non accettabile secondo l’header inviato
- 407 Proxy Autentication Required
- 408 Reqeust Timeout tempo di connessione scaduto
- 409 Conflict richiesta non esaudibile causa conflitto risorsa in remoto.
- 410 Gone risorsa definitivamente non più disponibile
- 411 Lenght Required Il server in remoto richiede la dimensione ma il CLient non la fornisce
- 413 Request Entiy Too Large . Il server in remoto non è in grado di gestire la richiesta causa troppo lunghezza.
- 414 Request-URI Too Long quando l’uri della richiesta risulta essere di dimensioni eccessive rispetto al server
- 415 Unsopported Media Type
- 417 Expectation Failed esecuzione richiesta non riuscita errore non identificato.
5xx Server Error
Il server non riesce a soddisfare la richiesta perchè risulta non valida.
- 500 Internal Server Error Rappresenta l’errore comune generico di risposta del server.
- 501 Not Implemented Il server non può soddisfare la richiesta perchè il metodo non è implementato.
- 502 Bad Gateway Rappresenta il Gaeway non valido. Ossia quando si esegue uno script CGI il quale non restituisce delle impostazioni valide HTTP. Occorre quindi stabilire il debug dell’intero sistema.
- 503 Service Unavailable Indica che il server non è momentanemaente disponibile.
- 504 Gateway Timeout la risposta non può essere processata perchè il Gateway è andato in timeout
- 505 HTTP Version Not Supported. Il server non supporta la versione HTTP della richiesta.
Questi sono le principali risposte HTTP le più comuni. Nel tempo altre vengono aggiunte e quindi standardizzate e altre tolte.