Playback with httpCompression I am relalized that IIS understands static files in MVC as dynamic content, so even if you check " Enable static compression of content " but don't check " Enable dynamic compression of content , IIS will return .css and .js files without compression:
GET /MVCX/Content/Site.css HTTP/1.1 Host: localhost Connection: keep-alive User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2 Accept: text/css,*/*; Referer: http://localhost/mvcx/ Accept-Encoding: gzip,deflate,sdch Accept-Language: en-GB,en-US;q=0.8,en;q=0.6 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 HTTP/1.1 200 OK Content-Type: text/css Last-Modified: Mon, 05 Dec 2011 12:42:37 GMT Accept-Ranges: bytes ETag: "c79895e4bb3cc1:0" Server: Microsoft-IIS/7.5 X-Powered-By: ASP.NET Date: Mon, 05 Dec 2011 12:44:43 GMT Content-Length: 1005
But then, if I check " Enable dynamic content compression ", the files are compressed:
GET /MVCX/Content/Site.css HTTP/1.1 Host: localhost Connection: keep-alive User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/535.2 (KHTML, like Gecko) Chrome/15.0.874.121 Safari/535.2 Accept: text/css,*/*; Referer: http://localhost/mvcx/ Accept-Encoding: gzip,deflate,sdch Accept-Language: en-GB,en-US;q=0.8,en;q=0.6 Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3 HTTP/1.1 200 OK Content-Type: text/css Content-Encoding: gzip Last-Modified: Mon, 05 Dec 2011 12:42:37 GMT Accept-Ranges: bytes ETag: "c79895e4bb3cc1:0" Vary: Accept-Encoding Server: Microsoft-IIS/7.5 X-Powered-By: ASP.NET Date: Mon, 05 Dec 2011 12:48:36 GMT Content-Length: 522
Even if I try to ignore the routes to ~/Content and ~/Scripts , these files are still understood as dynamic content:
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.IgnoreRoute("{Content}/{*pathInfo}"); routes.IgnoreRoute("{Scripts}/{*pathInfo}"); routes.MapRoute( "Default",
I think this is probably because the web.config line needed for MVC also forces the entire request through the ASP.NET pipeline:
<modules runAllManagedModulesForAllRequests="true" />
UPDATE: I tried to set this parameter to false and will be the same.
Is there any way to avoid this? I do not want compression for my dynamic content, but I want it for my static content.
Or the only way to place files somewhere else?
Greetings.