2016-05-13 15 views
7

ウェブサイトでは、通常、クエリ文字列パラメータを使用してcssとjsのキャッシュを無効にしています。クエリ文字列を使用したキャッシュの無効化、悪い習慣ですか?

Image

注:これと同じように、これはクロムインスペクタからのスクリーンショットで、これらのクエリ文字列は、すべてのブラウザにレンダリングされたときに私が作った小さなシステムによって自動的に付加されています。

友人は、クエリ文字列を使用すると、ファイル名自体を変更したり、ファイル名の前のパスのどこかに変更を加えたりしないと言っています。彼はまたan article along withを送りました、そして、ここでは、人々が代理を使うときの悪い業績について主に話しています。

ただし、記事は8歳です。私はそれがまだ有効な点ですか?私は気にする必要がありますか?本当に悪い練習ですか?

乾杯、
はWouter

+0

? – Justinas

+1

@Justinasこれはキャッシュを無効にする方法です。新しいバージョンをクエリ文字列に追加すると、ファイルはキャッシュからではなくネットから取得されます。 – jcubic

+0

@jcubic実際には 'header.js'のようなファイル名を作成し、リンクにchache無効化を追加するだけです。 OPはすべてのファイルが '?v = 1.1.0-alpha'で拡張子が(?)であることを示しています – Justinas

答えて

-1

あなたが本当にリソースリンクに追加ランダムクエリ文字列を使用することになるよりも、あなたは現在、あなたのサイトを開発している場合。いいえ<a href="header.js?noCache=<?= time(); ?>">

しかしこれは8年間働いていると言いました。だから、いくつかのリソースをキャッシュするのは良いことでしょうか?

はい、非キャッシュバージョンはキャッシュされたバージョンよりも遅く動作します。

+0

元の投稿、8年間は記事についてです。それは8歳で、男がまだ有効なポイントを持っているのだろうかと思う。私は長い間クエリ文字列を使用してきましたが、個人的には問題はありませんでした。 – wouterds

2

クエリ文字列キャッシュの無効化は、ベストプラクティスではありません。いくつかのブラウザ(おそらく)でうまく動作せず、あなたのCDNが(同じファイルを提供する)クエリ文字列を無視するように設定されている場合があります。しかし、これは、開発ワークフローやかゆみを傷つける迅速な修正としては効果的ではありません。

一部の人々は、クエリ文字列が十分ではないことを強く感じています。プロフェッショナルなサイト(特に継続的な統合の場合)には、最終更新日またはファイル内容のハッシュに基づいてファイル名を使用する必要があります。トピックの

リンク...あなたは= 1.1.0-alpha` `?vでファイルを持っていないのはなぜ

関連する問題