URL /products でアクセスできるページがあります。ブラウザーでアクセスすると、レイアウト内のフルページで応答します。リクエスト ヘッダーとレスポンス ボディの簡単な例を次に示します。
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
<layout>
<products />
</layout>
ユーザーが何らかの検索を行うと、JavaScript が AJAX を介して結果を更新します。レンダリングには時間がかかるため、結果はレイアウトなしでレンダリングされますが、とにかくそれは必要ありません。
Accept: */*;q=0.5, text/javascript, application/javascript, application/ecmascript, application/x-ecmascript
X-Requested-With: XMLHttpRequest
<products />
したがって、これは caching を追加するまではうまくいきましCache-Control: private, max-age=3600
た。最初は、Vary: X-Requested-With
ヘッダーを追加すると、ブラウザーが 2 つの応答を区別することになります。ただし、AJAX 経由で /products を取得し、ブラウザーで /products にアクセスすると、部分的な AJAX 応答が表示されます。
この問題を解決する簡単な方法はありますか?
PS私はRuby on RailsとjQueryを使用しています。