Отмена клиентом может отменить серверный контекст запроса, но не откатывает уже выполненные действия автоматически. Обработчик и зависимости должны поддерживать кооперативную отмену.
Что происходит при отмене HTTP-запроса клиентом?
Отмена клиентом может отменить серверный контекст запроса, но не откатывает уже выполненные действия автоматически. Обработчик и зависимости должны поддерживать кооперативную отмену.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Отмена клиентом может отменить серверный контекст запроса, но не откатывает уже выполненные действия автоматически. Обработчик и зависимости должны поддерживать кооперативную отмену.
В Go net/http контекст входящего запроса отменяется при соответствующем завершении соединения или отмене потока, а также после выхода handler. Сигнал нужно передавать в БД и исходящие вызовы.
Если платёж или запись уже завершились, отключение клиента не означает их отмену. Повторный запрос должен учитывать идемпотентность и возможность неизвестного клиенту результата. Не продолжайте ненужную тяжёлую работу без явной причины.
Источник: pkg.go.dev.