当我们刷新网页时会发生什么?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (19)

我希望是否有人能够回答我关于刷新网页的基本问题。

我有一个dotnet webform,用户填写一些细节并点击提交。网页后面的代码有大约20个函数可以执行。

现在假设,当用户点击提交按钮时,网页正在执行第五个功能,同时用户刷新他的浏览器;

已处理页面会发生什么?该页面是否会立即终止?还是会被允许运行直到它执行第20个函数?或者将运行的页面销毁并创建新页面并发送给客户端?

提问于
用户回答回答于

一旦从浏览器向服务器发出请求,该页面就被处理。即使用户取消或停止请求,服务器也会继续处理请求。如果用户重新加载/刷新页面,则会与第一个请求并行执行另一个请求。

即使在PHP的情况下,服务器也不会主动检查用户是否中止了连接。服务器只在尝试返回请求结果时才知道它已被中止。

互联网是一个不连贯的环境。服务器对浏览器一无所知。服务器知道的唯一一件事是请求已经完成,并且它必须填写请求。

用户回答回答于

在浏览器上刷新页面时,浏览器会在服务器上调用页面及其组件的新副本(CSS,JS等)(如果未缓存)。

如果该页面是POST调用,浏览器将再次POST数据。

页面已完成加载:

当完全加载时,应该完成服务器端的执行(除非执行额外的进程,或者运行不会将数据发送到客户端的后台代码)。

中途正在加载网页:

当前页面的连接将立即断开 - 如果页面仍在加载。它取决于服务器是否让页面继续运行或终止。例如在PHP中,我们可以使用ignore_user_abort()来保持脚本运行,即使页面在加载过程中终止。

如果你的服务器是ASP,并且你点击一个ASP按钮,那么即使用户在半途中刷新,按钮的动作(方法)也将完全在服务器端完成。这就是ASP.NET框架的完成方式。

扫码关注云+社区