如何解决用户只点击一次时的多个 HTTP POST 请求
我们有一个关于 http 引用和响应的奇怪情况。
我们的应用程序是一个带有 WEB 和 EJB 项目的 J2EE。多年来工作良好。
最近,从一个特定位置,当用户单击提交时,我们的 EJB 系统输出发现有多个提交(POST 请求)导致空指针。我们的按钮被设计为在被点击后被禁用。我们不确定后续请求是如何发生的。在这个问题的模拟中,我们点击一次,系统中只有一个用户。
因为这仅在我们从特定 ISP 连接时发生。我们不会遇到来自其他 ISP 位置的多个请求。因此,我们怀疑 ISP 可能无意中触发了重新提交。但我们不确定。我们还能做些什么来追踪这个问题的根本原因。
感谢您的帮助。
4 月 12 日更新
我们已经安装了wireshark来追踪来自浏览器端的信号。我们注意到浏览器关注在每 11 或 12 分钟后进行一次“重试”。这是正常的浏览器行为吗?
解决方法
我想我们已经找到了问题的原因。由这个 https://blogs.oracle.com/ravello/beware-http-requests-automatic-retries
解释这是 HTTP 规范中的内容 “如果 HTTP/1.1 客户端发送的请求包含请求正文,但不包含具有“100-continue”期望的 Expect 请求标头字段,并且客户端未直接连接到 HTTP/1.1 源服务器,如果客户端在从服务器接收到任何状态之前看到连接关闭,客户端应该重试请求。W3 超文本传输协议 -- HTTP/1.1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。