Leggendo
questo post sono rimasto colpito dalla seguente affermazione:
Di default quando ASP.NET va in errore 404 (risorsa non trovata) non invia al browser il codice HTTP corrispondente.. Dopo essermi ripreso dallo "shock" ho deciso di postare per chiedere cosa ne pensate. Ho dato un'occhiata in giro (come si dice... sul campo) e praticamente tutti i web framework che ho provato/usato/avuto per le mani quando si indirizza una risorsa non esistente ritornano come da
specifica un 404 o in un caso leggermente differente il più "smart"
410. Per quale ragione secondo voi in ASP.NET si forza il programmatore a esplicitare il codice 404?
Il poster originale fa un esempio di risorsa protetta ma se non sbaglio in quel caso si dovrebbe
utilizzare il 401. Inoltre fa notare anche un classico esempio di
"Moved Permanently" (ergo 301).
Cosa ne dite?
Update:
Daniele mi ha dato una risposta sul suo blog. Concreta e esaustiva ma sinceramente non sono convinto... non che Daniele menta per carità ma o sono tonto o non seguo il discorso. Si parla di pagina di errore personalizzato (il che è sacrosanto perchè le pagine 404 di solito sono brutte e danno poche informazioni, non come questa :-P ) ma la questione originava da un comportamento di default dell'application server (in questo caso ASP.NET ma il discorso vale per qualsiasi altro server). Se l'utente internamente si scrive un application handler (o semplicemente modifica l'oggetto Response) per fare le pernacchie all'utente è un problema suo, ma di default il 404 con una pagina spartana direi che è il comportamento che qualsiasi utente si aspetta.