Ancora sul codice 404

di Daniele Bochicchio, in Sviluppo web,

Lawrence si chiede perchè ASP.NET non invii il codice 404 come risposta (come da mio post di qualche giorno fa).

Il problema di fondo è dovuto al fatto che se viene specificata una pagina per l'errore personalizzato, il worker process di ASP.NET comunica ad IIS un codice 301 per rimandarlo alla nuova pagina (notare il cambio di URL quando è specificata una pagina personalizzata). E' all'interno della pagina, dato che è un errore personalizzato, che deve essere specificato il codice HTTP di risposta. E come già detto, non è così automatico che quando viene invocato l'handler per una risorsa che non esiste, il risultato sia un codice 404. Tutti gli articoli su questo sito, ad esempio, in passato avevano estensione .asp e per non perdere le migliaia di link c'è un piccolo script che aggiunge una x (più o meno) in coda. Questo è un tipico esempio di un handler che internamente gestisce una risorsa non trovata, ma ai fini dell'HTTP restituisce un codice 301 (o 302) anzichè 404.

Commenti

Visualizza/aggiungi commenti

| Condividi su: Twitter, Facebook, LinkedIn

Per inserire un commento, devi avere un account.

Fai il login e torna a questa pagina, oppure registrati alla nostra community.

Nella stessa categoria
I più letti del mese