HTTP Status Code Classe 4xx
di Antonio Coschignano, venerdì 27 febbraio 2009
La classe di codice di stato 4xx è destinata ai casi in cui il client ha commesso un errore nella richiesta. Il server in questo caso dovrebbe comprendere l'entità dell' errore, e quindi fornire eventuali indicazioni riguardo al tipo di errore commesso nella richiesta dal client. Questi codici di stato sono applicabili a qualsiasi metodo (GET,POST,HEAD) usato per la richiesta.
- 400
Bad Request
(Richiesta non valida)
La richiesta non poteva essere compresa dal server a causa di sintassi errata. Il cliente non deve ripetere la richiesta, senza modifiche. - 401
Unauthorized
(Necessaria autorizzazione)
La richiesta richiede l'autenticazione degli utenti. La risposta deve comprendere un campo WWW-Authenticate da applicare alla risorsa richiesta. In questo caso il client può ripetere la richiesta, con un adeguato campo di autorizzazione. Se invece la richiesta da parte del client comprendeva già il campo di autorizzazione allora la risposta 401 indica che l'autorizzazione è stata rifiutata. - 402
Payment Required
Richiesta di pagamento
Questo codice è riservato per uso futuro. - 403
Forbidden
(Non consentito)
Il server ha capito la richiesta, ma si rifiuta di eseguirla. Se è stato usato un metodo di richiesta diverso da HEAD ed il server vuole rendere pubblico il motivo del rifiuto della richiesta, puó specificarlo nell' entity headers. Se il server non vuole disporre di queste informazioni al client, può essere usato invece il codice di stato 404 (Not found). - 404
Not found
(Non trovato)
La risorsa richiesta non è stata trovata, cioè il server non ha trovato nulla che corrisponde alla Request-URI.. Questo codice di stato è comunemente utilizzato quando il server non vuole rivelare esattamente il motivo per cui la richiesta è stata rifiutata, o quando nessun altra risposta è applicabile. - 405
Method Not Allowed
(Metodo non consentito)
Il metodo specificato nella richiesta non è consentito per la risorsa identificata dal Request-URI. - 406
Not Acceptable
(Non accettabile)
La risorsa identificata tramite richiesta può solo generare una risposta che ha caratteristiche incompatibili con gli accept headers contenuti nella richiesta. Se non si trattava di una richiesta HEAD, la risposta dovrebbe includere un entity contenente un elenco di caratteristiche disponibili e l'ubicazione da cui l'utente o user-agent può scegliere quella più appropriata. - 407
Proxy Authentication Required
(Autenticazione proxy richiesta)
Questo codice è simile al codice 401 (non autorizzata), ma indica che il cliente deve prima autenticarsi con il proxy. Il client può ripetere la richiesta, con un header Proxy-Authenticate. - 408
Request timeout
(Timeout richiesta)
Il client non ha prodotto una richiesta entro il periodo di tempo per cui il server è disposto ad aspettare. Il client può ripetere la richiesta, senza modifiche in qualsiasi momento successivo. - 409
Conflict
(Conflitto)
La richiesta potrebbe non essere completata a causa di un conflitto con lo stato attuale della risorsa. Questo codice è consentito solo nelle situazioni in cui si prevede che l'utente potrebbe essere in grado di risolvere il conflitto e ripresentare la richiesta. La risposta del server dovrebbe includere un numero sufficiente di informazioni per l'utente a riconoscere la fonte del conflitto. I conflitti sono più probabili in risposta a una richiesta PUT. - 410
Gone
La risorsa richiesta non è più disponibile sul server e l'indirizzo di spedizione non è noto. Questa condizione dovrebbe essere considerata permanente. - 411
Length Required
(Lunghezza richiesta)
Il server si rifiuta di accogliere la richiesta senza una definita Content-Length. Il client può ripetere la richiesta se si aggiunge un valido header Content-Length contenente la lunghezza del corpo del messaggio. - 412
Precondition Failed
(Precondizione fallita)
Una o piu condizioni specificate negli IF request headers è risultata falsa al momento del test del server. - 413
Request Entity Too Large
(Entità della richiesta troppo grandi)
Il server si rifiuta di elaborare una richiesta perché la richiesta è più grande di entità server è disposta o in grado di trattare. Il server può chiudere la connessione per evitare che il cliente di continuare la richiesta. Se la condizione è temporanea, il server dovrebbe includere una Riprova-Dopo campo per indicare che è temporaneo e, dopo quanto tempo il cliente può provare di nuovo. - 414
Request-URI Too Long
(URL richiesta troppo estesa)
Il server si rifiuta di servizio richiesta perché la richiesta-URI è più il server è pronto a interpretare. Questa rara condizione è probabile che si verifichi solo quando un cliente ha impropriamente convertito una richiesta POST a una richiesta GET a lungo con le informazioni di query, quando il cliente è sceso in un URI "buco nero" di reindirizzamento (ad esempio, un prefisso reindirizzato URI che punta a un suffisso di se stesso), o quando il server è sotto attacco da parte di un client che tentano di sfruttare buchi di sicurezza presenti in alcuni server di lunghezza fissa utilizzando i buffer per la lettura o la manipolazione Richiesta-URI. - 415
Unsupported Media Type
(Tipo di supporto non utilizzabile)
Il server sta rifiutando la richiesta di servizio, perché l'entità della richiesta è in un formato non supportato dalla risorsa richiesta per il metodo richiesto. - 416
Requested Range Not Satisfiable
Il server deve restituire una risposta con questo codice di stato se la richiesta comprendeva una Range request-header, e nessuno dei valori range-specifier di questo campo si sovrappongono l'attuale dimensione della risorsa selezionata. - 417
Expectation Failed
L'aspettativa di cui uno Expect request-header campo (cfr. sezione 14,20) non poteva essere soddisfatta da questo server, o, se il server è un proxy, il server è la prova inequivocabile che la richiesta non poteva essere soddisfatta entro il prossimo server-hop