Что происходит, когда пользователь останавливается в своем веб-браузере?
Если вызывается страница, требующая большой обработки, и пользователь останавливается до конца, браузер просто останавливает запрос на стороне клиента?
Или это сообщение "stop", отправленное на сервер, то есть обработка отменена?
Ответы
Ответ 1
При этом на сервер не отправляется сообщение. Когда пользователь нажимает кнопку остановки, браузер просто останавливает рендеринг страницы и игнорирует дальнейший ответ = с сервера.
Если запрос уже отправлен на сервер, сервер, как правило, продолжит его выполнение. Однако, в зависимости от реализации сервера, может обнаруживаться отброшенное соединение. Это означает, что вы не можете полагаться на то, что он будет продолжаться в каждом случае.
Ответ 2
На самом деле он посылает "сообщение остановки", закрывая соединение. Это справедливо только в том случае, если он все еще ожидает вывода из основного запроса (а не при завершении загрузки содержимого и начала загрузки изображений и т.д.). Таким образом, вы можете определить, нажал ли пользователь кнопку остановки или возникли проблемы с подключением, когда вы получаете сообщение о закрытии соединения.
Ниже приведена информация о руководстве пользователя PHP: http://php.net/manual/en/features.connection-handling.php
На боковой ноте - это всегда зависит от реализации браузера, и нет определенного способа убедиться, что пользователь нажал кнопку остановки или просто отключенное соединение.
Ответ 3
Нет сообщений или запросов STOP, определенных в HTTP, поскольку HTTP не имеет состояния, и для остановки запроса потребуется узнать его идентификатор. Естественно, как только HTTP-запрос попадает на сервер, он не может быть остановлен из внешнего мира.
Ответ 4
Сервер все равно обработает запрос. Если вы используете Visual Studio, вы можете подключиться к рабочим процессам IIS, чтобы убедиться, что это так. Отладкa > Присоединить к процессу