browser caching

Posted on 2012-03-12
Last Modified: 2012-05-07
In regards to forcing a browser to download a new copy of a file that it would typically cache, would adding a parameter to the url have the same effectiveness as changing the filename itself? ie: file.css?v=123 vs file123.css
Question by:nzinsli
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
LVL 83

Expert Comment

by:Dave Baldwin
ID: 37710967
That works if it constantly changes.  The problem of course is getting the browser to start downloading that version in the first place.  As long as the original pages are still cached with the original file name, the browser will still keep using those versions until they expire from the local cache.

Author Comment

ID: 37711015
The browser shouldn't use the cached file though if the html is calling for a new filename in the code tho, correct? I was just curious as to if one method was preferred over another.
LVL 83

Expert Comment

by:Dave Baldwin
ID: 37711270
The problem usually is that the HTML file is cached and the new file name for the CSS doesn't get picked up until the HTML file in the cache expires.
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Author Comment

ID: 37714857
While that may be true, I can't say I've ever had a problem with the html being cached or not showing the new version when loading. Wouldn't the browser look at the last modified date on the server version before rendering the cached html? Include files on the other where my question lies. If you suppose that it is not loading a cached html, is there any difference for caching if I call an included css file with file.css?v=123 or file-123.css?
LVL 83

Accepted Solution

Dave Baldwin earned 500 total points
ID: 37716044
"file.css?v=123 or file-123.css"  No difference.  If the link is "file.css?v=124" next time, then there is.  It has appeared that some times the browser only looks at the last-modified date of the HTML file and if it hasn't changed, then it loads CSS and javascript from cache.  I think that maybe that has improved in the last year or two now that you mention it because it hasn't been as much of a problem for me recently.  But I've also upgraded my web server twice in the last year.

Author Comment

ID: 37716213
"If the link is "file.css?v=124" next time, then there is." ...If the version # changes, then there is a difference??

I'm glad you brought up modified date. The reason this all came about, is I'm going to be dynamically building the file include list via literals in The version # is going to be read from a xml file that gets updated when one of these files is updated, so the user is more assured to get the latest code w/o refreshing. But, since the actual html file isnt being edited & saved, the modified date wont change. I wonder if this will cause an issue...hmmm...
LVL 83

Expert Comment

by:Dave Baldwin
ID: 37716370
The browser cache is done by the complete URL including the query string.  Adding the current time is a standard technique in AJAX to prevent the browser from just returning info from it's cache.

Look here for info on preventing caching in IIS:

Featured Post

Guide to Performance: Optimization & Monitoring

Nowadays, monitoring is a mixture of tools, systems, and codes—making it a very complex process. And with this complexity, comes variables for failure. Get DZone’s new Guide to Performance to learn how to proactively find these variables and solve them before a disruption occurs.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
window close link 7 32
help thx 6 20
Record locking on classic ASP 3 37
Secure log in 'box' 4 10
Any business that wants to seriously grow needs to keep the needs and desires of an international audience of their websites in mind. Making a website friendly to international users isn’t prohibitively expensive and can provide an incredible return…
Although a lot of people devote their energy toward marketing for specific industries, there are some basic principles that can be applied to any sector imaginable. We’ll look at four steps to take and examine how those steps were put into action fo…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
The is a quite short video tutorial. In this video, I'm going to show you how to create self-host WordPress blog with free hosting service.

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question