本当にこのフォームを再送信しますか?二重決済の危険と正しい対処法
本当にこのフォームを再送信しますか?二重決済の危険と正しい対処法に関する疑問を徹底的にまとめました。詳細な解説をご覧ください。
この警告が画面にポップアップする背景には、Webブラウザとサーバーの間で行われる通信規格(HTTP通信)の基本ルールが深く関係しています。私たちがWebページを閲覧する際、通常はサーバーからデータを取得する「GET送信」が使われますが、会員登録、アンケート回答、クレジットカード決済などのように「サーバー側へ重要な情報を書き込む」処理には「POSTデータ送信」という方式が用いられます。
POST通信で送信されたページを開いた状態で、ブラウザの「戻る」「進む」ボタンを押したり、画面をリロード(更新)しようとすると、ブラウザは「以前に入力・送信されたデータを、サーバーへもう一度送信しようとしています」と認識します。もしブラウザが何の確認もなしに前回のデータをそのまま再送信してしまうと、同じ商品の注文確定処理や送金リクエストが機械的に2度実行されてしまいます。つまり、この画面はブラウザが意図せぬ連続処理を食い止めるためにあえてユーザーの判断を仰ぐ、「最後の安全装置」として機能しているのです。
主要なブラウザによって表示メッセージやUIは微妙に異なりますが、意図している警告内容は共通しています。Google Chromeでは「フォームの再送信の確認」、Safariでは「このWebページを再度開くには、フォームを再送信する必要があります」、Microsoft Edgeでは「フォームの再送信を確認」といったテキストで表示されます。特にChromeのフォーム再送信やSafariのフォームの再送信は、警告音とともに全画面の中央にダイアログがオーバーレイするため、多くのユーザーに強い不安感を与えがちです。