Подтвердить что ты не робот

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

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

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

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

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

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

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

Страница загружена:

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

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

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

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

Ответ 3

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

Надеюсь, что это поможет.

RE

Ответ 4

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

Ответ 5

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

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

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

Ответ 6

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