2

ユーザーが「ニュースレター」を購読できるようにする Web アプリを実装しています。ユーザーはメールアドレスを提供するだけでよく、サインアップページはありません。電子メール アドレスを確認するために、システムは指定されたアドレスに電子メールを送信し、ユーザーにリンクをクリックして電子メール アドレスを確認するように求めます。そのリンクはサーバーに GET リクエストを送信し、ユーザーのニュースレターを表すモデル内のフラグを確認済み => false から確認済み => true に変更します。問題は、内部サーバーの状態を変更する GET 要求を使用していて、これが悪いことです。問題は、電子メールの確認を必要とするすべてのシステムがこのパターンに従うことです。

これを行うより良い方法はありますか?ユーザーがブラウザーで確認ページに入ったときに、Javascript を使用して Ajax POST 要求をトリガーする必要がありますか?

退会についても同様です。

ありがとう!

4

3 に答える 3

1

べき等でないものには GET リクエストを使用しないでください。POST を使用して、初めてサブスクライブし、既存のサブスクリプション レコードを変更します。技術的には、PUT を使用して既存のレコードを変更できますが、レコードが既に存在することを知る必要があるため、常に POST を使用する方が簡単です。

厳密には、GET リンクを使用して、JS を使用できるフォームに事前入力するか、ユーザーがページで押す確認送信ボタンを使用して、サービスへの POST 要求をトリガーすることができます。

于 2013-01-17T21:05:37.343 に答える
0

StackOverflow(StackExchange)は、サブスクリプション確認メールでHTTPGETを使用します。それは悪いことではありません。実際、受信トレイ/アーカイブで、逆のことをするサイトのインスタンスを1つ見つけることができません。

https://stackexchange.com/filters/email-confirm/999999

心配しないでください。

于 2013-01-17T21:16:19.167 に答える