Tempo di lettura: 3 minuti

La classe di status 4XX raggruppa tutti gli status relativi a richieste erronee del client.

400 Bad Request

La richiesta non può essere capita dal server a causa di una sintassi errata.

401 Unauthorized

La richiesta richiede l’autenticazione da parte dell’utente. Il responso deve includere il campo header WWW-Authenticate.

402 Payment Required

Questo status è riservato per usi futuri.

403 Forbidden

Il server ha capito la richiesta, ma si rifiuta di processarla. L’autorizzazione non serve e la richiesta non dovrebbe essere ripetuta.
Se il server non desidera rendere queste informazioni disponibili al client, il codice di status 404 (Not Found) può essere usato in sostituzione del 403.

404 Not Found

Il server non ha trovato niente che corrisponda alla Request-URI. Nessuna indicazione viene data sulla condizione di temporaneità o permanenza. Lo status 410 (Gone) dovrebbe essere usato se il server sa, tramite qualche meccanismo interno configurabile, che una vecchia risorsa è permanentemente non più disponibile e non ha nessun indirizzo a cui re-inviare l’utente.
Questo status è comunemente usato quando il server non desidera rivelare esattamente il perché la richiesta è stata rifiutata, o quando nessun altro responso è applicabile.

405 Method Not Allowed

Lo status 405 è dato quando non è permesso usare il metodo specificato nella Request-Line per la risorsa specificata nella Request-URI. La risposta deve includere una lista di metodi validi per effettuare la richiesta alla risorsa.

406 Not Acceptable

La risorsa identificata dalla richiesta è capace di generare solo contenuti con caratteristiche non accettate dagli accept headers inviati nella richiesta.

407 Proxy Authentication Required

Questo codice è simile al 401 (Unauthorized), ma indica che il client deve prima autenticarsi al proxy. Il proxy deve restituire un header Proxy-Authenticate.

408 Request Timeout

Il client non ha fornito alcuna risposta nel tempo di attesa previsto dal server. Il client può ripetere la stessa richiesta senza modifiche quando vuole, in futuro.

409 Conflict

La richiesta non può essere completata a causa di un conflitto con lo stato corrente della risorsa.

410 Gone

La risorsa richiesta non è più disponibile sul server e non è disponibile nessun indirizzo alternativo. Si presume che la condizione sia permanente.

411 Length Required

Il server rifiuta di accettare la richiesta senza un Content-Length definito. Il client può ripetere la richiesta aggiungendo un header Content-Length valido, che contiene la lunghezza del message-body nel messaggio di richiesta.

412 Precondition Failed

Una o più condizioni del request-header è risultata falsa quando il server ha tentato la verifica.

413 Request Entity Too Large

Il server si rifiuta di processare la richiesta perché l’entità della richiesta è più grande di quanto il server sia in grado di processare. Il server può chiudere la connessione per prevenire che il client continui ad eseguire la richiesta.
Se la condizione è temporanea, il server dovrebbe includere un header Retry-After per indicare che è una situazione temporanea e che quindi il client può ritentare l’esecuzione della richiesta.

414 Request-URI Too Long

Il server si rifiuta di processare la richiesta perché la Request-URI è più lunga di quanto il server possa interpretare. Questa rara condizione si può verificare quando il client converte impropriamente la richiesta POST in GET.

415 Unsupported Media Type

Il server si rifiuta di processare la richiesta perché l’entità della richiesta è un formato non supportato.

416 Requested Range Not Satisfiable

Il server dovrebbe restituire un responso con questo status se la richiesta include un Range request-header, e nessuno dei valori del range-specifier in questo campo sovrappongono la misura della risorsa selezionata, e la richiesta non include un campo If-Range request-header.

417 Expectation Failed

L’attesa data nel campo Expect request-header non può essere riscontrata dal questo server, o, se il server è un proxy, il server ha una evidente ambiguità per cui la richiesta non può essere riscontrata dal server next-hop.