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