サイトの高速化のためにExpiresやmax-ageヘッダを設定してファイルをキャッシュさせるのは良くあると思います。この場合困るのが、キャッシュ期間中にファイルの内容を変更した場合。キャッシュ対象がJavaScriptだとサイトに多大な影響を与えたりします。で、Webでよく見つかるバッドノウハウが
hoge.js?20140507などのクエリストリングでファイルにバージョン番号を擬似的に持たせる方法です。これ良くないんですよね。
ハイパフォーマンスWebサイト
の作者が
ブログに書いていますが、proxyやCDNで意図したようにキャッシュしてくれなかったりします。
ドヤ顔で書きましたが、RailsのAsset Pipelineの背景を読んでて今朝自分の勘違いを知ったのは内緒です。