Caching Static Files Through Web.config
- Published on
- -1 min read
When running my website through Google Page Insights, one of things I didn't do was cache static content, such as CSS, JavaScript and site images. Since I am on a shared hosting plan, I didn't think it was possible to have the option to cache a specific directory without direct IIS access.
Normally, when working on client sites hosted on a dedicated server, I set the cache header within "HTTP Response Headers" area in IIS. But all this actually does is generate a web.config file within the directory you wish to cache:
<!--?xml version="1.0" encoding="UTF-8"?-->
<configuration>
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Cache-Control" value="public, max-age=604800" />
</customHeaders>
</httpProtocol>
</system.webServer>
</configuration>
So if you too are on shared hosting, add a web.config file with similar settings. In this case, I have cached my files for a week.
You can also set the cache settings in your main web.config file by wrapping a location path around the <system.webServer> node:
<location path="resources">
<system.webServer>
<httpProtocol>
<customHeaders>
<add name="Cache-Control" value="public, max-age=604800" />
</customHeaders>
</httpProtocol>
</system.webServer>
</location>
Before you go...
If you've found this post helpful, you can buy me a coffee. It's certainly not necessary but much appreciated!
Leave A Comment
If you have any questions or suggestions, feel free to leave a comment. Your comment will not only help others, but also myself.