(エンタープライズ) Web プロジェクトの場合、以前のバージョンの静的ファイルを保持して、プロジェクトがいつ設計変更を実装する準備ができたかを自分で決定できるようにしたいと考えています。私の最初の計画は、次のような静的コンテンツ用のフォルダーを提供することです。
company.com/static/1.0.0/
company.com/static/1.0.0/css/
company.com/static/1.0.0/js/
company.com/static/1.0.0/images/
company.com/static/2.0.0/
company.com/static/2.0.0/css/
company.com/static/2.0.0/js/
company.com/static/2.0.0/images/
これらのフォルダ内の各ファイルには、少なくとも 1 年間、「永久に」キャッシュするキャッシュ ポリシーが必要です。また、リクエスト数を最小限に抑えるために、css ファイルと js ファイルを 1 つに連結する予定です。
次に、フォルダーも提供しcurrent
ます(最新のリリースバージョンにシンボリックリンクします)
company.com/static/current/
company.com/static/current/css/
company.com/static/current/js/
company.com/static/current/images/
これにより、私の最初の問題 (プロジェクトとサブ Web サイトがコードを特定のバージョンにロックし、準備ができたらいつでもアップグレードできる) が解決されます。
しかし、その後、キャッシングの問題がいくつか見られます。current
リリースごとに変更されるため、キャッシュフォルダーを「ただ」することはできません。そのフォルダのキャッシング ポリシーはどうあるべきですか。
また、リリースごとに、ほとんどの静的ファイルが変更されることはありません。それらを永久にキャッシュし、変更がある場合は名前を変更することは適切ですか?
キャッシュとファイルの変更の間の最善のトレードオフについて知りたいので、ここでアドバイスを探しています。