Devo restituire un codice di stato http 401 su un modulo di accesso basato su HTML? La pagina è un modulo di accesso dedicato e non ha altri contenuti significativi, ma solo la struttura del sito. L'URL tuttavia può essere per una pagina che ha contenuti significativi, ma richiede l'accesso. Questa impostazione restituisce solo il codice di stato 401 e non richiede all'utente l'autenticazione di base.
Guardando gli standard sembra che 401 sia un codice di stato inappropriato per i moduli di accesso basati su HTML. Tuttavia, non ho mai sperimentato o sentito parlare di conseguenze negative nel farlo.
Quando si invia 401, "La risposta DEVE includere un campo di intestazione WWW-Authenticate (sezione 14.47) contenente una sfida applicabile alla risorsa richiesta."
requisito menzionato qui:
http://tools.ietf.org/html/rfc2616#section-10.4.2
dettagliato qui:
http://tools.ietf.org/html/rfc2617#section-3.2.1
So che ci sono modi in cui posso aggirare i motori di ricerca nel convincerli a indicizzare o meno le pagine in base alla presenza di un modulo di accesso, ma preferirei usare i codici di stato http, in particolare 401 poiché la sua definizione sembra un corrispondenza perfetta se non per il requisito di intestazione WWW-Authenticate.
C'è qualche motivo per cui non dovrei usare 401 in questo caso? Semanticamente c'è qualche differenza tra non essere autorizzato a livello http rispetto a essere autorizzato a livello di applicazione? Ovviamente puoi avere entrambi, ma l'autenticazione a livello http non è solo per non implementarla a livello di applicazione?