X-aspnetmvc-version -
Response.Headers.Remove("X-AspNetMvc-Version");
In the client-server web model, HTTP headers convey metadata about requests and responses. Most production web applications strive to minimize revealing internal infrastructure details. However, default configurations of ASP.NET MVC (versions 3 through 5) implicitly add the X-AspNetMvc-Version header to every HTTP response. This value corresponds directly to the version of the System.Web.Mvc assembly used. x-aspnetmvc-version
The X-AspNetMvc-Version header offers no operational value to end users and actively contributes to information leakage. Organizations deploying ASP.NET MVC should adopt header stripping as a standard hardening measure, aligning with principles of minimizing attack surface. The act of removal does not patch vulnerabilities but frustrates automated scanning and low-effort reconnaissance. Response
The header is generated by the MvcHandler class, responsible for processing MVC requests. When the Application_Start method initializes the routing table, the framework binds the version string (e.g., 5.2 , 4.0 , 3.0 ) from the assembly's AssemblyFileVersionAttribute . This value is appended to the outgoing response collection. Unlike the X-AspNet-Version header (which reports .NET runtime version), X-AspNetMvc-Version is specific to the MVC library. This value corresponds directly to the version of the System
protected void Application_EndRequest()