Я заметил, что в стандартной среде grails запрос всегда выполняется до конца, даже если клиентское соединение потеряно и результат больше не может быть доставлен.
Есть ли способ настроить среду таким образом, чтобы выполнение запроса было отменено, как только теряется соединение с клиентом?
Обновление: Спасибо за ответы. Да, большинство проблем, которых я пытаюсь избежать, можно избежать с помощью лучшего кодирования:
- кэширование может сделать почти каждую страницу быстрой
- токен может помочь избежать отправки чего-либо дважды
но есть некоторые запросы, которые могут занять некоторое время. Давайте возьмем картографический сервис в качестве примера. Расчет маршрута займет некоторое время. Одним из решений, позволяющих избежать повторной отправки запроса, мог бы быть флаг «calcInProgress» вместе с сообщением пользователю. Но тогда все еще возможно создать много сеансов и, следовательно, множество запросов для атаки DOS ...
Мне по-прежнему любопытно: нет ли способа настроить сервер на отмену запроса? Я имел обыкновение разрабатывать в системе, где сервер вел себя таким образом, и это было здорово: -)