I said that I’d been nervous about one particular Rails innovation, rolling
timestamps into the URIs of static assets, for example
/images/img23.jpg?20060412191322
, because it had the smell of
level-mixing about it. So I talked to DHH about it, and he swore up and down
that when the timestamp (and hence the name) changes it’s because this
really is a new thing (Resource, in Web terms), not a changed version of the
same thing. This leaves one question in my mind; does the system allow for
someone to link to the ?20060412191322
version after it’s been
replaced by one with a ?20070223101354
timestamp? Because if the
old one is automagically gone after the new one arrives, I wonder if it really
is a new thing.
The reason they do this is obvious; they can set this kind of thing
cacheable-forever at the HTTP level and really cut down, first on needless
traffic, but more important, on user-perceived latency. Which is a good
thing.