Using, for example,
<%= javascript_include_tag 'prototype' %>
results in
<script src="/javascripts/prototype.js?1164912447" type="text/javascript"></script>
I take it the number 1164912447 is the timestamp of the file (in seconds since the epoch)
Isn't it redundant to include this information? Isn't part of the HTTP protocol to check whether the client already has an up-to-date version of the file requested?
In other words, why doesn't
<%= javascript_include_tag 'prototype' %>
just produce
<script src="/javascripts/prototype.js" type="text/javascript"></script>
without the timestamp?
Because not all browsers pay attention to that... or they decide to cache it for X hours/days on their own and don't even bother to check. Adding the ?123123 forces the browser to try again.
-philip