Что происходит, когда пользователь останавливается в своем веб-браузере?

Если вызывается страница, требующая большой обработки, и пользователь останавливается до конца, браузер просто останавливает запрос на стороне клиента?

Или это сообщение "stop", отправленное на сервер, то есть обработка отменена?

Ответы

Ответ 1

При этом на сервер не отправляется сообщение. Когда пользователь нажимает кнопку остановки, браузер просто останавливает рендеринг страницы и игнорирует дальнейший ответ = с сервера.

Если запрос уже отправлен на сервер, сервер, как правило, продолжит его выполнение. Однако, в зависимости от реализации сервера, может обнаруживаться отброшенное соединение. Это означает, что вы не можете полагаться на то, что он будет продолжаться в каждом случае.

Ответ 2

На самом деле он посылает "сообщение остановки", закрывая соединение. Это справедливо только в том случае, если он все еще ожидает вывода из основного запроса (а не при завершении загрузки содержимого и начала загрузки изображений и т.д.). Таким образом, вы можете определить, нажал ли пользователь кнопку остановки или возникли проблемы с подключением, когда вы получаете сообщение о закрытии соединения.

Ниже приведена информация о руководстве пользователя PHP: http://php.net/manual/en/features.connection-handling.php

На боковой ноте - это всегда зависит от реализации браузера, и нет определенного способа убедиться, что пользователь нажал кнопку остановки или просто отключенное соединение.

Ответ 3

Нет сообщений или запросов STOP, определенных в HTTP, поскольку HTTP не имеет состояния, и для остановки запроса потребуется узнать его идентификатор. Естественно, как только HTTP-запрос попадает на сервер, он не может быть остановлен из внешнего мира.

Ответ 4

Сервер все равно обработает запрос. Если вы используете Visual Studio, вы можете подключиться к рабочим процессам IIS, чтобы убедиться, что это так. Отладкa > Присоединить к процессу