Что происходит при отмене HTTP-запроса клиентом?

Отмена клиентом может отменить серверный контекст запроса, но не откатывает уже выполненные действия автоматически. Обработчик и зависимости должны поддерживать кооперативную отмену.

Короткий ответ

Что ответить на собеседовании

Отмена клиентом может отменить серверный контекст запроса, но не откатывает уже выполненные действия автоматически. Обработчик и зависимости должны поддерживать кооперативную отмену.

Подробный разбор

Ответ с пояснениями

Отмена клиентом может отменить серверный контекст запроса, но не откатывает уже выполненные действия автоматически. Обработчик и зависимости должны поддерживать кооперативную отмену.

В Go net/http контекст входящего запроса отменяется при соответствующем завершении соединения или отмене потока, а также после выхода handler. Сигнал нужно передавать в БД и исходящие вызовы.

Если платёж или запись уже завершились, отключение клиента не означает их отмену. Повторный запрос должен учитывать идемпотентность и возможность неизвестного клиенту результата. Не продолжайте ненужную тяжёлую работу без явной причины.

Источник: pkg.go.dev.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее