特定のサーバーにリクエストを送信すると、303 レスポンスが返され、続いてリクエストされたレスポンスと 200 ステータス コードの組み合わせが返されます。面白いことに、これは開発者コンソールのネットワーク ビューにしか表示されません。$.ajax() リクエストのステータスコードとレスポンスを確認すると、2 番目のリクエストのレスポンスと 200 http ステータス コードが表示されます。
問題は、2 番目の要求が (ステータス コード 200 ですが) キャッシュされているように見えることです。キャッシュできないようにする必要があります。したがって、http 303 ステータス コードで発生する転送プロセスに介入したいと考えています。jquery 関数でステータス コードをチェックしてから、サーバーに応答をキャッシュしないように指示する明示的なヘッダーを含む get 要求を送信したいと思います。
(前述のように) jQuery.ajax メソッドは転送されたリクエストのレスポンスとステータス コード (200) で応答するため、これを行う方法がわかりません。
手伝って頂けますか?
編集
10.3.4 303 その他を参照
リクエストへのレスポンスは別の URI で見つけることができ、そのリソースで GET メソッドを使用して取得する必要があります。このメソッドは主に、POST でアクティブ化されたスクリプトの出力がユーザー エージェントを選択したリソースにリダイレクトできるようにするために存在します。新しい URI は、最初に要求されたリソースの代替参照ではありません。303 応答はキャッシュしてはなりませんが、2 番目の (リダイレクトされた) 要求に対する応答はキャッシュ可能かもしれません。
たぶん、ユーザーエージェントが自分自身をリダイレクトするのを何らかの形で防ぐ必要があるので、リダイレクトを行うことができますか?
または、クライアント側からの 2 番目の要求をキャッシュしないようにサーバー/ブラウザーに単純に指示する方法はありますか? または私のリクエストをリダイレクトしないようにするには?または少なくともリダイレクトする前に2番目のリクエストを変更しますか?