From HttpListener source code http://www.dotnetframework.org/default.aspx/DotNET/DotNET/8@0/untmp/whidbey/REDBITS/ndp/fx/src/Net/System/Net/HttpListenerResponse@cs/2/HttpListenerResponse@cs line 525 UnsafeNclNativeMethods.HttpApi.HttpSendHttpResponse( HttpListenerContext.RequestQueueHandle, HttpListenerRequest.RequestId, (uint)flags, pResponse, null, null, SafeLocalFree.Zero, 0, asyncResult==null ? null : asyncResult.m_pOverlapped, null ); http://msdn.microsoft.com/en-us/library/windows/desktop/aa364499(v=vs.85).aspx Argument 5 is the CACHE_POLICY. It is set to null which means no caching. SO NO YOU DO NOT USE KERNEL MODE CACHING WITH HTTP LISTENER