The IHttpContext interface represents the main programmatic interface for HTTP modules to access information about the current request-level context. This interface retrieves several additional interfaces that you can use when writing HTTP modules.
For example, the GetRequest and GetResponse methods retrieve, respectively, the IHttpRequest and IHttpResponse interfaces for the current context. These interfaces allow developers to access or modify the request body and response body, HTTP headers, server behavior, and so on.
IIS 7.0 allows you to create and execute child contexts through the IHttpContext interface by using the CloneContext, ExecuteRequest, and ReleaseClonedContext methods. IIS also provides the GetParentContext and GetRootContext methods to help developers write HTTP modules that can change behavior depending on whether the current context is a root, child, or parent context.
IHttpContext also provides several methods to help developers control the behavior of notifications. For example, you can use the DisableNotifications method to disable notifications or the GetIsLastNotification method to determine whether there are any remaining notifications. Additionally, you can use the GetNextNotification method to merge notifications or the NotifyCustomNotification method to raise a custom notification.