Un servizio di autenticazione consente di disabilitare gli account utente (una sorta di soft-delete).HTTP 401 Non autorizzato o 403 Proibito per un utente "disattivato"?
Se il server riceve una richiesta di autenticazione per un utente disabilitato che altrimenti sarebbe valido, il server dovrebbe restituire 401 o 403? Con entrambi i codici di stato, restituirei un messaggio che indica che l'account era stato disabilitato.
Per una rapida consultazione, le citazioni rilevanti HTTP/1.1 spec (sottolineatura mia):
401 non autorizzate
La richiesta richiede l'autenticazione dell'utente. La risposta DEVE includere un campo di intestazione WWW- autenticato (sezione 14.47) contenente una sfida applicabile alla risorsa richiesta. Il client PU MAY ripetere la richiesta con un campo di intestazione Autorizzazione adatto (sezione 14.8). Se la richiesta già inclusi credenziali di autorizzazione, allora la risposta 401 indica che autorizzazione è stata respinta per le credenziali di . Se la risposta 401 contiene la stessa sfida come la risposta prima , e l'agente utente ha già tentato l'autenticazione almeno una volta, quindi l'utente dovrebbe essere presentato il entità che è stato dato nella risposta, dal momento che entità potrebbe includere informazioni diagnostiche pertinenti. L'autenticazione di accesso HTTP è spiegata in "Autenticazione HTTP: Accesso di base e Digest Autenticazione" [43].
403 Forbidden
Il server capito la richiesta, ma si rifiuta di compierla. L'autorizzazione non aiuta e la richiesta NON DOVREBBE essere ripetuta. Se il metodo di richiesta non era HEAD e il server desidera rendere pubblico pubblico perché la richiesta non è stata soddisfatta, è DOVREBBE descrivere il motivo per il rifiuto nell'entità. Se il server non desidera che rendano disponibili queste informazioni al client, è possibile utilizzare il codice di stato 404 (non trovato).
Domanda simile qui (potrebbe essere utile in qualche modo): http://stackoverflow.com/questions/8389253/correct-http-status-code-for-resource-which-requires-authorization/ –