サイト検索に使用するフォームのページがあります。このフォームはPOST動詞を使用して検索するデータを送信します。検索結果は、送信後にフォームの下に表示されます。リダイレクト()を使用するとセッションIDが変更される
IEで「ページが期限切れになる」問題を解決するために、私はいわゆるPRGパターン(http://en.wikipedia.org/wiki/Post/Redirect/Get)を使用します。私は同じURLにリダイレクトする私のビューのpost()メソッドからdjango.shortcuts.redirect()を返します。
問題が発生すると、302応答後に送信されたGET要求に関連するさまざまなセッションIDが表示されます。結果をページに分割できるようにフォームにセッションを保存しているため、結果が一貫しません。
私はapache/mod_wsgiの下でdjangoを実行します。 apacheは多くとも3つのプロセスで実行するように設定されています。
httpdを再起動した直後に起こることはなく、httpdプロセスによって消費されたメモリ量がある限界に達した後に起きているようです。
送信ボタンを繰り返し押すと、フォームがセッションから読み込まれ、入力した検索文字列が表示されます。セッションが変更されると、フォームは空白になります。したがって、これが起き始めると、フォームは2回連続して正常に読み込まれ、3回目にsubmitを押すと空白が返されます。つまり、サーバーは新しいセッションCookieを返しました。これはServerLimitの設定と関係があるようです。
どうしたのですか?何か案は?
おかげ
コンスタンチン
すべてのブラウザで同じ動作をしますか?永続的なリダイレクトと一時的なリダイレクトを取得したときにIEが何か変わったことをするのだろうかと思います。なぜ永続的なリダイレクトを使用したいのですか?それは事実上「今からすべての投稿を最終的なGETページにしなければならない」と言っているのではないでしょうか? – Ted
私は自分の質問を編集しました。この問題はhttp 302でも発生します。 – akonsu
私は同じ問題を抱えています。どのようなAntivirus/Network Security Suiteをお使いですか? –