ブラウザのキャッシュは自動ですか? 質問する

ブラウザのキャッシュは自動ですか? 質問する

REST API にリクエストを送信する JavaScript アプリがあり、サーバーからの応答にはキャッシュ ヘッダー (ETag、cache-control、expires など) があります。ブラウザーでの応答のキャッシュは自動的に行われますか、それともアプリでデータを保存するための何らかのメカニズムを実装する必要がありますか?

ベストアンサー1

AJAXリクエストは通常​​のリクエストと何ら変わりありません。ブラウザから送信されるGET/POST/HEAD/その他のリクエストであり、そのように処理されます。これは確認されています。ここ:

最近のブラウザの HTTP およびキャッシュ サブシステムは、Ajax の XMLHttpRequest オブジェクトよりもはるかに低いレベルにあります。このレベルでは、ブラウザは Ajax リクエストを認識したり、気にしたりしません。サーバから返される応答ヘッダーに基づいて、通常の HTTP キャッシュ ルールに従うだけです。

に従ってjQueryドキュメントキャッシュは、少なくとも 1 つの通常の方法 (クエリ文字列の追加) で無効化することもできます。

キャッシュ(デフォルト: true、データ型が「script」および「jsonp」の場合は false)

タイプ: ブール値

false に設定すると、要求されたページがブラウザによってキャッシュされなくなります。注: キャッシュを false に設定すると、HEAD および GET 要求でのみ正しく機能します。これは、GET パラメータに "_={timestamp}" を追加することで機能します。このパラメータは、GET によって既に要求されている URL に対して POST が行われる場合の IE8 を除き、他の種類の要求には必要ありません。

つまり、同じヘッダーが指定されている場合、AJAX 応答は他のリクエストと同じ方法でキャッシュされます。

おすすめ記事