Tempo di lettura: 2 minuti

Questa classe di Status comprende tutti quei codici che richiedono ulteriori azioni al fine di completare la richiesta. L’azione richiesta potrebbe essere intrapresa direttamente dal browser senza iterazione dal parte dell’utente se e solo se il metodo usato nella seconda richiesta è di tipo GET o HEAD.

Il client dovrebbe individuare i loop di re-indirizzamento infiniti che generano traffico per ciascun redirect.

300 Multiple Choices

La risorsa richiesta corrisponde ad un set di documenti, ciascuno con una sua posizione specifica, e il browser o l’utente possono selezionare un documento per il quale verrà fatta un’ulteriore richiesta. L’ultimo passaggio dovrebbe dare un codice di status uguale a 200.
Maggiori informazioni sul RFC.

301 Moved Permanently

La risorsa richiesta è stata assegnata ad un nuovo URI permanentemente e ogni futura richiesta per quella risorsa dovrebbe essere fatta al nuovo URI.
Maggiori informazioni sul RFC.
Una nota: quando il redirect di un POST avviene automaticamente dopo aver ricevuto uno status code 301, alcuni user agents con protocollo HTTP/1.0 cambiano erroneamente il POST in GET.

302 Found

La risorsa richiesta risiede temporaneamente sotto un URI differente. Finché ci sarà un re-indirizzamento, il client dovrebbe usare il Request-URI per le future richieste. Il risultato sarà conservato nella cache se indicato da Cache-Control o Expires header.

303 See Other

La risposta alla richiesta può essere trovata ad un indirizzo differente e dovrebbe essere richiesta tramite il metodo GET su quella risorsa. Questo metodo esiste essenzialmente per permettere l’output di uno script POST-activated per re-indirizzare l’user agent alla risorsa selezionata. Il nuovo URI non sostituisce la risorsa originariamente richiesta. La pagina con responso 303 non deve essere messa in cache, ma la pagina servita dopo il redirect potrebbe.
L’URI di redirect dovrebbe essere dato dall’header Location nel responso.

304 Not Modified

Se il client ha fatto una richiesta condizionale con il metodo GET e l’accesso alla risorsa è stato permesso, ma il documento non è stato modificato, il server dovrebbe rispondere con questo status code.
Il responso 304 non deve contenere il message-body, e deve sempre terminare con una linea vuota dopo l’header.

305 Use Proxy

La risorsa richiesta deve essere servita attraverso un proxy, dato in un campo Location dell’header. Il campo Location contiene l’URI del proxy. Il responso 305 deve essere generato solo dal server di origine.

306 (Unused)

Il codice di status 306 era usato in una precedente versione delle specifiche. Non è più utilizzato e resta un codice riservato.

307 Temporary Redirect

La risorsa richiesta risiede temporaneamente sotto un URI differente. L’URI temporaneo viene dato da un campo header Location, nella risposta.
Se il responso 307 viene ricevuto dall’user agent tramite una richiesta POST, il browser non deve compiere alcuna azione senza la conferma dell’utente.