Rails 3 アプリを開発していますが、[戻る] を押すと、ブラウザーがサーバーにヒットするのではなく、既にメモリにあるページを再表示することに気付きました。
そうは言っても、私が開発した以前のアプリでは、これは当てはまらず、ブラウザーがサーバーに再度アクセスする可能性が 99% あると確信しています。
したがって、私の記憶が正しければ、これは何かの HTTP ヘッダーか、Rails が設定している何かである必要があります。
JS を使用して DOM を大幅に変更し、ユーザーが [戻る] を押して、大幅に変更されたバージョンではなく、「元の」バージョンが提供されるページでは、これは一種の問題であるため、それが何であるかを知りたいです。 、場合によっては本当に混乱します。
編集:これを行うと問題が解決したと思いましたが、そうではありませんでした:
def force_no_cache_on_back_button
#expires_in -1, :public => false
headers['Pragma'] = 'no-cache'
headers['Cache-Control'] = 'no-cache; no-store; private; must-revalidate; max-age=0'
headers['Expires'] = 1.day.ago.to_s
end
驚いたことに、それは破損した SSL 証明書 (ステージング サーバーに自己署名を使用) を使用した HTTPS では機能しますが、「適切な」SSL 証明書を使用すると、運用環境では機能しません。これはただ奇妙です。
他のアイデアはありますか?
ありがとう!
ダニエル