ASP.NET: Implement custom IHttpModule to support referral information gathering


It is a common scenario for ASP.NET web applications and web logs to want to collect the referral information for incoming links to their web/syndicated content. Collection of the raw data as well as performing some pre-processing should be expected as this information is often used for reporting purposes.
The scope of this feature is to implement a custom IHttpModule that provides an easy means of collection referrer information that can be stored in the storage media of choice using the provider model.
A brief examination of the .NET framework shows that information can possibly be extract using the following entities: