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

Я надеялся, что кто-нибудь может ответить на фундаментальный вопрос, который у меня есть относительно обновления веб-страницы.

У меня есть dotnet webform, где пользователь заполняет некоторые детали и нажимает submit. Код веб-страницы, имеет около 20 функций.

теперь, когда пользователь нажимает кнопку отправки, веб-страница выполняет 5-ю функцию, а тем временем пользователь обновляет свой браузер;

Что произойдет с уже обработкой Пейдж? Страница будет немедленно закрыта? или ему будет разрешено работать до тех пор, пока он не выполнит 20-ю функцию? или страница будет уничтожена, а новая страница создана и отправлена клиенту?

Спасибо за ваши ответы.

6 ответов


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

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

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


когда страница обновляется в браузере, браузер вызывает на сервере новую копию страницы и ее компонентов (CSS, JS и т. д.)... если не кэшируется).

Если страница была вызовом POST, браузер снова опубликует данные.

страница завершена загружена:

при полной загрузке выполнение на стороне сервера должно быть завершено (если вы не выполняете дополнительные процессы или не запускаете фоновый код, который не будет отправлять больше данных клиенту).

страница загружается на полпути:

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

Если ваш сервер ASP, и вы нажимаете на Кнопка ASP, действие (метод) кнопки будет выполнено полностью на стороне сервера, даже если пользователь обновится на полпути. Вот как ASP.NET рамки сделаны.


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

надеюсь, что это помогает.

RE


выполнение кода будет продолжаться до конца.


Я считаю, что веб-страница (на стороне клиента, конечно) выполняется в один поток. Если ваш "onsubmit" вызывает след функций, это зависит от вас, но в какой-то момент Вы (возможно) захотите submit () форме.

другими словами (в вашем конкретном случае), весь след функции будет продолжаться до тех пор, пока форма не будет отправлена.

с другой стороны, если вы нажмете кнопку "Перезагрузить", исполнение расторгнут.


все функции будут выполнены, даже у вас есть обновление, вы можете сделать тест. но в .net он предоставляет функцию, чтобы проверить, если клиент все еще подключен к серверу (для вашего первого отправки, означает, что сервер может проверить, если клиент ждет ответа в любое время после отправки)