java - 当我单击浏览器上的停止按钮时会发生什么?

标签 java browser

假设我单击网页上的按钮来发起提交请求。然后我突然意识到我提供的一些数据是错误的,如果它被提交,那么我将面临不必要的后果(比如购物请求,我可能会被迫为这个错误的请求付款)。

所以我疯狂地点击停止按钮不止一次而是多次(以防万一)。

在这种情况下会发生什么?浏览器是否只是取消请求而不通知服务器?如果它确实通知服务器,服务器是否只是终止该进程,或者它是否还回滚作为该请求的一部分完成的所有操作?

我用 Java 编写代码。 Java 是否有任何特殊功能可用于检测 STOP 请求并回滚我们在此事务中所做的任何事情?

最佳答案

从浏览器加载网页通常需要 4 个步骤(不考虑重定向):

  1. 当服务器可用时,浏览器发送 HTTP 请求
  2. 服务器执行代码(用于动态页面)
  3. 服务器发送 HTTP 响应(通常是 HTML)
  4. 浏览器呈现 HTML,并请求其他文件(图像、css、...)

浏览器对“停止”的 react 取决于您当时请求的步骤:

  • 如果您的服务器运行缓慢或过载,并且您在第 1 步中点击了“停止”,则不会发生任何事情。浏览器不发送请求。
  • 不过,大多数情况下,“停止”会在第 2、3 和 4 步中被点击,并且在这些步骤中,您的代码已经执行,浏览器只是停止等待响应 (2) 或接收响应(3),或呈现响应 (4)。

HTTP 调用本身始终是一个两步操作(请求/响应),并且没有自动方式从客户端回滚执行

关于java - 当我单击浏览器上的停止按钮时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/138116/

相关文章:

java - 如何在由azure应用程序服务门户UI部署的azure java应用程序中配置Web.config文件

java - 如何解决java.lang.NoClassDefFoundError : javax/xml/bind/JAXBException

android - 更改网络浏览器中的默认搜索引擎

javascript - FullCalendar - 我应该期望什么级别的事件呈现性能?

java - Hadoop 3.1构建在 `protoc --version`失败

Java 生产者/消费者并发问题 - 尝试读取对象时出现 NoSuchElementFound 异常

Python/应用引擎 : Get client browser information

browser - 如何使用AutoHotKey脚本获取当前的浏览器URL?

java - 我应该采取什么方法来创建全局应用程序以进行不同系统的审计跟踪?

javascript - 如何在不收到 "Do you want to close this window"提示的情况下关闭浏览器窗口?