2017-02-01 4 views
0

私は個人的なアプリケーションに問題があります。Java Webアプリケーションからのリソースファイルのバージョン

新しいバージョンのItをアップロードするたびに、ユーザーはcss、js、およびimagesリソースに問題があります。

私は新しいバージョン(プロジェクトにはmavenを含む)でこれらのリソースのURLを変更することをやりたいのですが、のキャッシュ情報はまだページの読み込み時間を得るためにはです。

しかし、私は呼び出しのURLを変更することはできませんし、アプリケーション内のリソースのパスを変更しないでください。フィルタやURLリライタなどのソリューションはありますか? (/{version}/res/css/style.cssのように)私はそれについて何も見つけることができません...

答えて

1

静的リソースリクエストにクエリパラメータ?v = {version}を追加できます。

RFC 3986

クエリコンポーネントは、非階層パスコンポーネントのデータと一緒に、URIのスキームの範囲内でリソースを識別するのに役立つ、データと命名権限が含まれていることを述べて

したがって、キャッシュするときはパラメータを考慮する必要があります。

ほとんどのブラウザでキャッシュされます。おそらく、プロキシサーバーの中には、最近はほとんどのものがありません。それが起こらないという前提は、8歳の調査結果に基づいています。Steve Sounders's blog

ファイル名自体またはパスを変更することができます。それは他の選択肢です。

+0

私は、パラメータを持つURLがキャッシュされていないことを見てきました...その理由で、それが素晴らしい解決策であるかどうかはわかりません。/ –

+1

はい、これは当てはまりました。私はいくつかの背景を追加しました – Redlab

+1

ニース、あなたの素晴らしい答えに感謝@Redlab –

関連する問題