CloudFlareには、キャッシュ設定の違いを説明する次のページがあります: https://support.cloudflare.com/hc/en-us/articles/200168256 。しかし、私はまだ混乱しています。それは言います:
Basic: example.com/pic.jpg
Simplified: example.com/pic.jpg?ignore=this-query-string
Aggressive: example.com/pic.jpg?with=query
したがって、Basicはクエリ文字列に注意を払わないことを意味すると仮定しています(クエリ文字列が含まれていても単一のファイルとして扱われます)。簡略化すると、クエリ文字列はすべて無視されると言われているようです。そして、Aggressiveは、クエリ文字列は基本的には別のファイルであることを意味すると言っているようです。
だから、私の質問は、BasicとSimplifiedの違いは何ですか? Basicがクエリ文字列を無視し、Simplifiedもクエリ文字列を無視する場合、これらは同じではありませんか?
クエリ文字列を使用するかどうかによって異なります。それらを使用しない場合、違いはありません。
ただし、HTMLに次のような画像、JavaScript、またはCSSファイルがある場合:
<link type="text/css" rel="stylesheet" href="style.css?v=0.1.0" />
次に、設定によって違いが生じます。それを理解するには、まずクエリ文字列が使用される理由を理解する必要があります。別のクエリ文字列を追加すると、Basic
の下で、クエリ文字列が変更されたときに新しいファイルを強制的に要求します。 style.css
にいくつかの変更を加えた後、v=0.2.0
文字列を使用するようにコードを作成するとしましょう。
<link type="text/css" rel="stylesheet" href="style.css?v=0.2.0" />
これで、すべての訪問者が新しいファイルを再ダウンロードし、再度キャッシュします。
Simplified
を有効にしている場合、CloudFlareはクエリ文字列を無視し、CloudFlareにキャッシュされているstyle.css
ファイルを返します。 CloudFlareのキャッシュが更新されるまで、ユーザーは古いファイルを受け取ります。これを使用すると、CloudFlareでキャッシュを管理する必要があります。これを避けるために、CloudFlareにファイルの両方のバージョンをキャッシュするように指示するAggressive
設定もあります。