web-dev-qa-db-ja.com

CloudFlare-基本キャッシュ、簡易キャッシュ、および積極的なキャッシュの違い

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もクエリ文字列を無視する場合、これらは同じではありませんか?

1
Gavin

クエリ文字列を使用するかどうかによって異なります。それらを使用しない場合、違いはありません。

ただし、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設定もあります。

0
phoops