私のユーザーインターフェースは現在広く開かれています。
特に、ユーザーが個別に削除できる要素がいくつかあります。ユーザーが削除ボタンを繰り返し押すと、ajax リクエストが繰り返し発生します。
レート制限は私が実装すべき標準的な方法ですか、それともユーザーに広くオープンなアクセスを許可しても問題ありませんか?
私のユーザーインターフェースは現在広く開かれています。
特に、ユーザーが個別に削除できる要素がいくつかあります。ユーザーが削除ボタンを繰り返し押すと、ajax リクエストが繰り返し発生します。
レート制限は私が実装すべき標準的な方法ですか、それともユーザーに広くオープンなアクセスを許可しても問題ありませんか?
ユーザー要求をキューにグループ化できます。次に、送信する新しいリクエストがないか、そのキューを時々チェックします。そのため、ユーザー インターフェイスは実行するアクションを追加し、それらを送信する頻度を制御できます。アクションが既にキューにある場合、アクションが追加されないようにすることができます。また、この方法で、実行するアクションのリストを受け入れるようにコードを変更できます。
これは、 などの関数を使用して JavaScript で実装できる一般的な説明ですsetTimeout
。
まず第一に、これはクライアントの問題でもあり、サーバーの問題でもあります。いくつかの標準的な解決策は次のとおりです。
例として StackOverflow を取り上げます。回答に反対票を投じると、再度反対票を投じることはできません。コメントを送信する場合、送信間で数秒待つ必要があります。
エラーに関する限り...いくつかの問題のカテゴリのいずれかに遭遇している可能性があります。例えば: