投稿を使用すると、更新をクリックしてブラウザが再度投稿を試みるためです。
「投稿してからリダイレクトするテクニック」を示すチュートリアルをYouTubeで見ています。彼は、リダイレクトを(ヘッダーを使用して)同じページにいくつかの取得データを含むページに投稿した後、このようにします
代わりに get メソッドを使用できるため、これがばかげている場合
要するに、私の質問はこれです...フォームを使用する場合、getメソッドはpostメソッドよりも優れていますか??
投稿を使用すると、更新をクリックしてブラウザが再度投稿を試みるためです。
「投稿してからリダイレクトするテクニック」を示すチュートリアルをYouTubeで見ています。彼は、リダイレクトを(ヘッダーを使用して)同じページにいくつかの取得データを含むページに投稿した後、このようにします
代わりに get メソッドを使用できるため、これがばかげている場合
要するに、私の質問はこれです...フォームを使用する場合、getメソッドはpostメソッドよりも優れていますか??
いいえ、それは良くありません...
それは悪いです
なんで?更新を押すと、フォームが実行したアクションが繰り返されるためです。誤ってクレジット カードに 2 回請求したり、まったく不必要に同じフォーラム投稿を 2 回送信したりする人がどれだけいるか想像してみてください。
GET リクエストは冪等でなければなりません。それをもっと強くしましょう。GET リクエストは冪等でなければなりません。彼らは何も「する」べきではなく、単に情報を要求するべきです。
POST-Redirect-GET メソッドは、「更新」の問題を回避する方法です。限目。
getは安全ではありませんが、投稿してください!!! 決して get を使用しないようにしてください。これはより良い方法ではありません。渡すデータがユーザーにとってより有用でない場合は、get を使用できます。
GET はサーバーに影響を与えないはずです。つまり、同じ GET を複数回再発行できるはずであり、問題はありません。
対照的に、POST はレコードを更新するように設計されています。それらは必ずしもべき等ではありません。これが、同じ POST を再度実行しようとすると、ブラウザーが警告する理由です。Amazon からその本を 2 部購入したかったのでしょうか?
フォームが検索フォームなどの場合は、GET が適切です。フォームがログイン フォーム、チェックアウト フォームなどである場合は、それほど多くはありません。