ホームページ  >  記事  >  バックエンド開発  >  Go Web サーバーの POST リクエストが GET リクエストにリダイレクトされるのはなぜですか?

Go Web サーバーの POST リクエストが GET リクエストにリダイレクトされるのはなぜですか?

DDD
DDDオリジナル
2024-11-24 02:27:09558ブラウズ

Why Are My Go Web Server POST Requests Being Redirected to GET Requests?

Go Web サーバーが POST リクエストを自動的にリダイレクトする

Go Web サーバーで POST リクエストが GET リクエストにリダイレクトされるというイライラする問題が発生した場合、原因は、登録されたパスの末尾のスラッシュという微妙な詳細にあります。

デフォルトでは、 HTTP ServeMux 実装は、末尾にスラッシュのないサブツリー ルートに対する要求を受信すると、リダイレクトを実行します。ハンドラーが /myurl/ で登録されているが、リクエストが /myurl に送信された場合、サーバーは正しいパスへの 301 リダイレクトで応答します。

解決策:

この動作に対処するには、次のいずれかのアプローチが必要です。

  • ブラウザを正しい URL: ブラウザーが末尾のスラッシュを含めて /myurl/ に誘導されていることを確認します。
  • ハンドラーを特定のパスにのみ登録します: 登録して /myurl のリクエストを個別に処理します。ハンドラーを /myurl に登録します。
  • 両方のパスを登録します: ハンドラーを /myurl と両方に登録します。 /myurl/ では、どちらのパスでもリダイレクトせずに目的のアクションをトリガーできます。

追加メモ:

  • リダイレクトされた POST リクエストは GET になります。リクエストは別の POST リクエストではなく、ブラウザによって送信されます。
  • セキュリティ上の理由から、ブラウザは自動的に再送信しませんリダイレクトされたときにデータを POST します。
  • この動作についてさらに詳しく知るには、元の応答で提供されたリソースを調べてください。

以上がGo Web サーバーの POST リクエストが GET リクエストにリダイレクトされるのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。