4

私のユーザーインターフェースは現在広く開かれています。

特に、ユーザーが個別に削除できる要素がいくつかあります。ユーザーが削除ボタンを繰り返し押すと、ajax リクエストが繰り返し発生します。

レート制限は私が実装すべき標準的な方法ですか、それともユーザーに広くオープンなアクセスを許可しても問題ありませんか?

4

2 に答える 2

3

ユーザー要求をキューにグループ化できます。次に、送信する新しいリクエストがないか、そのキューを時々チェックします。そのため、ユーザー インターフェイスは実行するアクションを追加し、それらを送信する頻度を制御できます。アクションが既にキューにある場合、アクションが追加されないようにすることができます。また、この方法で、実行するアクションのリストを受け入れるようにコードを変更できます。

これは、 などの関数を使用して JavaScript で実装できる一般的な説明ですsetTimeout

于 2013-06-12T18:44:33.497 に答える
2

まず第一に、これはクライアントの問題でもあり、サーバーの問題でもあります。いくつかの標準的な解決策は次のとおりです。

  • ユーザーが特定のアクションを頻繁に送信できないようにインターフェイスを調整します (たとえば、JS で実行して、1 つのものを 2 回削除するリクエストを送信する abili を無効にします)。
  • サーバーでのレート制限は通常必要ありませんが、役立つ場合があります。

例として StackOverflow を取り上げます。回答に反対票を投じると、再度反対票を投じることはできません。コメントを送信する場合、送信間で数秒待つ必要があります。

エラーに関する限り...いくつかの問題のカテゴリのいずれかに遭遇している可能性があります。例えば:

  • 接続の問題 (接続の欠如、不安定な接続、または非常に遅い接続)、
  • 内部クライアント制限 (同時リクエスト数が許可された最大数に達したなど)、
  • その他、サーバー側の制限 (レート制限、リクエストの相互ブロックなど)、
于 2013-06-12T18:44:04.470 に答える