問題タブ [http-status-code-308]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
16 参照

rest - 永続的なリダイレクトは常に有効な URL にアクセスし続けます

バックエンド (同じ Web サービス) に 2 つの Rest API を作成しました。1 つは有効な URL 用で、もう 1 つはリダイレクトされた URL 用です。ユーザーが有効な URL にアクセスしたときに、ここで 308 リダイレクトを実行しています。

シナリオ

  1. API を POST、PATCH、または DELETE としてマークすると、

    Google chrome では、私のリクエストは常に古い URL (有効) に最初に送信され、次に別の URL にリダイレクトされます。

    API の両方にブレークポイントを設定し、上記の 3 つの HTTP メソッドに対して、リクエストが常に最初にヒットすることを検証しました。また、ブラウザから Ajax 経由で 20 回以上 API をヒットしました。

  2. API を GET としてマークすると、

    初回のみ、リクエストは有効な URL に送られ、別の URL にリダイレクトされます。同じブラウザーを介した後続の呼び出しは、ブラウザーのキャッシュをクリアするまで、別のブラウザーを直接使用します。

    これは、永続的なリダイレクト (301/308) の予想される動作だと思います。また、301 と 308 の違いについても認識しています。

主な混乱は、POST、PATCH、DELETE などの NON-GET API に対して意図したとおりに動作しない理由です。

Chrome ブラウザーのバージョン:バージョン 88.0.4324.192 (公式ビルド) (x86_64)