Inviare il codice HTTP 404 per le risorse non presenti

Daniele Bochicchio

di Daniele Bochicchio, in ASP.NET, lunedì 13 settembre 2004 ore 19.19

Archiviato in:

Leggendo questo post di Andrea mi è venuto in mente un piccolo addendum al suo esempio, utilizzabile in un caso ben delimitato.

Di default quando ASP.NET va in errore 404 (risorsa non trovata) non invia al browser il codice HTTP corrispondente. La stessa cosa in realtà (non) la fa anche Classic ASP. Se mettete su un sistema che cerca broken link analizzando il codice di risposta del web server, con una pagina personalizzata semplicemente non funzionerà.

E' un'operazione che infatti è demandata allo sviluppatore, anche perchè non è detto che se una risorsa non esiste fisicamente su disco o virtualmente tramite mapping il risultato sia un 404, come in questo esempio, per aggiustare automaticamente l'indirizzo, o questo vecchio url che rimanda in automatico a questo per evitare broken link.

E quindi il succo del discorso è che comunicare all'user agent che visita la pagina (che può non essere un browser) che la risorsa in realtà non esiste più, si può inserire nell'HttpModule utilizzato per l'errore (o nel global.asax o nella pagina di personalizzazione) questo semplice codice:

Response.StatusCode = 404;

Lo so che essere compatibili con il mondo (e con gli standard) richiede sacrificio, ma essere buoni cittadini del web vuol dire anche onorare a dovere i protocolli e gli standard esistenti ;)

Commenti

Per inserire un commento, devi avere un account.

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



Segnala su: Facebook MSDN Social Twitter Segnalo Wikio Diggita Technorati Stumbleupon Google Yahoo FriendFeed Delicious Furl

Nella stessa categoria
I più letti del mese
IL CONTENUTO
TagCloud
.NET Framework, .NET Framework 2.0, .NET Framework 3.0, .NET Framework 3.5, .NET Framework 4.0, .NET Micro Framework, 10annidi, ADO.NET, AJAX, Architettura, ASP, ASP.NET, ASP.NET 2.0, ASP.NET 2.0 per tutti, ASP.NET 3.5, ASP.NET 3.5 per tutti, ASP.NET 4.0, ASP.NET AJAX, ASP.NET Charting, ASP.NET MVC, ASPItalia.com, Cache, CSS, Custom Control, Database, Databinding, Datagrid, Deployment, Dynamic Data Control, Entity Framework, HttpHandler, HttpModule, HttpRuntime, IIS, ISAPI, Javascript, jQuery, LINQ, LINQ to Entities, LINQ to SQL, LogParser, Master Pages, Media Center, Membership API, Microsoft Expression, Mono, MySQL, Object Oriented Programming, Off Topic, Office, ORM, Pattern, PDC 2008, Profile API, Provider Model, Report, Roles API, Security, Silverlight, Silverlight 2.0, Silverlight 3.0, Silverlight 3.0 Guida Completa, Silverlight 4.0, SQL Server, User Control, Visual Studio, WCF Data Services, Web Service, web.config, Windows 7, Windows Azure, Windows Client, Windows Communication Foundation, Windows Identity Foundation, Windows Live Services, Windows Mobile, Windows Presentation Foundation, Windows Server, Windows Vista, WinFS, XAML, XBox 360, XHTML, XML, XSLT
BLOG INFO
  • 926 post, 398 commenti, 192 trackback
  • Feed blog e contenuti tecnici: RSS
  • Feed blog: RSS Atom
IN EVIDENZA