Hot answers tagged


There are several considerations in this, some which are handled on IIS (HTTP compression, caching headers fx), and some which are handled during the build process / before deployment (such as Javascript and CSS file concatenation & whitespace minification). As such, it's a bit hard to give you a complete rundown in one answer, as some of it will depend ...


Etags are OK as long as you don't serve content from multiple servers. If you only serve from one server, then leave them there. They don't hurt. And if you don't want YSlow to complain about them, then click the Edit button near the Rulesets select element and edit the YSlow(V2) profile. Just uncheck the "Configure entity tags (Etags)" option.


YSlow is not complaining that they're wrong (even though that's what it says), but it's complaining that they're not needed. The only way to get YSlow to shut up about this is to disable them. The good thing is, I just did this myself earlier today! Open your IIS manager, click on the server, and go to HTTP Response Headers. Click the "Add..." button, and ...


There's a very interesting write up here where someone is using IIS to serve static files. It mainly concentrates on tweaking the IIS file caching settings to limit disk activity (which was his bottleneck). He says he's seen a 20x increase in performance.


The accepted answer by Farseeker does not work. I've tested this in IIS 7.0.6000.16386 on Windows Server 2008 Standard SP 2. See Jeff Atwood's comment on Stack Overflow for the same question.


You seem to be confusing keeping the cached image and using the cached image. The browser keeps the cached image, as configured. However, the browser will not use the cached image if it know it is not current. Revalidation and expiration are two different things.


See a similar StackOverflow Question.


After many tests, I noticed that my original regex was working fine since the beggining. However, the .ico file was wrongly named so the browser was not finding it. This was the true cause of YSlow alert. Of course, a file not found should not show a "far-future expiration date" alert but a "content not found"...


Check expires header in YSlow: Possibly works another location. Try same config: location = /f/a/i/favicon.ico { expires max; } After change config, reload nginx: $ sudo nginx -t $ sudo nginx -s reload


In iis 6, you can add a custom header for 'ETag' = "" In iis 7, add an outbound rewrite rule as follows: <outboundRules> <rule name="Remove ETag"> <match serverVariable="RESPONSE_ETag" pattern=".+" /> <action type="Rewrite" value="" /> </rule> </outboundRules> IIS 7 will overwrite custom headers, and all ...


Please see the answer to Set Server response header in IIS7 for a partial solution. Yes, a complete solution would be really nice, but I'll take what I can get.

Only top voted, non community-wiki answers of a minimum length are eligible