2009-05-21 6 views

答えて

8

、あなたはおそらく、明示的に追加することになるでしょう場合 - 変更 - ので、デフォルトではfalseですifModifiedオプション付きヘッダー:

$.ajax({ 
    ... 
    ifModified: true, 
    ... 
}); 

あなたがする必要がありますcacheオプションもありますデータタイプがjsonpまたはscriptの場合はtrueにします。他のdataTypesではデフォルトでtrueです。

これらのオプションの説明については、jQuery.ajax() docsを参照してください。

1

Expiresヘッダーやキャッシュ制御ディレクティブなど、http応答に適切なヘッダーを設定します。

は詳細についてはhereを参照してください、しかし、一言で言えば、あなたが示すために、ヘッダーを設定したい:

  • リソースが一定の時間のためにキャッシュされるべきであるとリソースがキャッシュ可能であることを
  • (expiresヘッダー) (キャッシュコントロール:パブリックヘッダー)

オプションで、ユーザーにファイルを要求させることができますが、本体の再ダウンロード(大容量ファイルの場合)を保存する「変更されていないresposne」を返送することができます。この場合、あなたは、リソースが(最終更新時刻ヘッダー)最後に変更された場合には

  • を示すために、応答ヘッダを使用する必要があり、クライアントはバージョンがE-タグ
  • あったか、古いサーバに伝えることを可能にしますこのファイルは、サーバーにクライアントのバージョンを知らせるためのハッシュコードの一種です。 eタグがどのように生成されるかに注意してください。いくつかのサーバーでは、etagsがロード・バランシングを中断します。

2つの方法では、クライアントがレスポンスをキャッシュし、レスポンスが再ダウンロードされる回数を減らすことができます。また、キャッシュ可能なレスポンスでクッキーを設定しないようにするのは、クッキーを持つレスポンスをキャッシュしないキャッシュもあれば、クッキーを含むレスポンスをキャッシュするキャッシュもあります。

1

キャッシュしないと指定しない限り、すべてのAJAXレスポンスがキャッシュされると思います。また、jQuery Cache(?)をチェックアウトすることもできます。

2

GET要求はブラウザによってキャッシュされる可能性があります(ブラウザのキャッシュサイズなどによって異なります)。しかし、POSTはキャッシュされません。

よろしくお願いいたします。 jQueryを使って

関連する問題