IE对重复帖子的回复是什么?

时间:2012-01-31 18:17:22

标签: asp.net internet-explorer iis post

如果您访问aspx Web表单,并单击提交按钮导致POST到服务器,然后再次单击提交导致第二个POST,然后收到第一个POST的响应,响应方面会发生什么?服务器是同时还是串行处理这两个请求?服务器是否同时发送响应?浏览器是否忽略其中一个响应?在回答前面的问题之后,这可能是自我解释的,但是如果我要调用Response.Clear();到Response.End();对于第二个请求,浏览器端会发生什么?

2 个答案:

答案 0 :(得分:1)

如果服务器端没有特殊方法来处理多个POST,服务器将独立处理这两个请求。处理是否并发 - 取决于:

  • 如果您的第一个POST导致整个页面重新加载,则在服务器端处理页面之前无法触发第二个POST(因为您的第二次单击是从已经在客户端的页面进行的)< / LI>
  • 如果您的第一个POST导致AJAX POST到服务器并且处理在服务器上花费一些时间,那么您可能最终在服务器端同时处理同一页面中的两个POSTS

服务器始终发送响应,浏览器不会忽略它们。在服务器端或客户端,您的代码是防止此类意外的多个POST,例如将响应302设置为不允许用户重新保存表单的另一个位置。

具体来说,如果您只是清除响应(发送空内容)并且内容类型为text/html,则浏览器将呈现空白页面。

答案 1 :(得分:0)

我会说这些事情可能会发生,具体取决于确切的时间。

我相信调用Response.Clear();到Response.End();在第二个请求上,可能会在收到第一个请求的结果后,导致浏览器收到空响应。