I'm writing a series of concise montly web development tips over at DotNetSlackers.com. My first tip, published in December, looked at caching data for the lifespan of a request, which is a quick and easy way to improve the performance of data-driven web applications that have pages where the same data is requested multiple times per request. My most recent tip takes a deeper look at HTTP redirection.
Every ASP.NET developer is familiar with Response.Redirect, but do you know what happens behind the scenes when you do a Response.Redirect? In a nutshell, it sends an HTTP 302 status back to the client with the redirection URL. The 302 status code is used to indicate that information has temporarily moved; there is another HTTP status code (301) that indicates that a resource has permanently moved. You should use a 301 redirect when using URL rewriting, “retiring” old URLs, or doing a website structure re-org.
For more information check out the tip, An In-Depth Look at HTTP Redirection.