I'm trying to get YSlow to give me an A on the "Add Expires header" section by setting the web.config file.
I've been looking around and this is what I put in based on what's out there:
<staticContent> <clientCache httpExpires="15.00:00:00" cacheControlMode="UseExpires"/> </staticContent> </system.webServer>
This is what I'm seeing in Firebug:
Response Headers HTTP/1.1 200 OK Server: ASP.NET Development Server/10.0.0.0 Date: Sun, 28 Aug 2011 13:54:50 GMT X-AspNet-Version: 4.0.30319 Cache-Control: private Content-Type: image/jpeg Content-Length: 24255 Connection: Close Request Headersview source Host localhost:50715 User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:6.0) Gecko/20100101 Firefox/6.0 Accept image/png,image/*;q=0.8,*/*;q=0.5 Accept-Language en-us,en;q=0.5 Accept-Encoding gzip, deflate Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7 Connection keep-alive Referer http://localhost:50715/MySite/SiteHome.html Pragma no-cache Cache-Control no-cache
However, when I look at it in Firefox, Yslow is still giving an F on this, even after a Crtl-F5
What am I missing?
Thanks.
From .NET Daily, I successfully applied this to a PHP site on IIS. It sets the max age to 30 days from now, rather than having to specify an explicit date.
Add this to your web.config
file:
<system.webServer> <staticContent> <clientCache cacheControlMaxAge="30.00:00:00" cacheControlMode="UseMaxAge"/> </staticContent> </system.webServer>
This configuration satisfies both PageSpeed "Leverage browser caching" and YSlow "Add Expires headers". YSlow requires a value greater than 7 days. PageSpeed requires between 30 days and 1 year.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With