服务器是否总是按照发送的顺序接收AJAX请求?

Does the server always receive AJAX requests in the same order they are sent?

本文关键字:顺序 AJAX 请求 是否 服务器      更新时间:2023-09-26

我有一个通过AJAX向服务器发送信息的网页。我需要确保服务器以正确的顺序处理请求。服务器接收请求的顺序是否可能与发送请求的顺序不同?网页确保请求以正确的顺序发送,但请求之间的时间可能非常短。页面不接收来自服务器的数据,因此响应不需要按顺序排列。

由于每个AJAX请求都在自己的连接中运行,因此无法保证异步请求将以发送的顺序到达。

如果您想确保它们以发送的顺序到达,请使用同步请求。另一种可能性是将请求打包在一起。

这取决于您的服务器和服务器负载。通常情况下,如果请求不需要太多的处理器时间,它们应该按照正确的顺序处理。

为了绝对确定,你可以实现一个发送队列。第二个请求等待第一个请求完成,依此类推。这当然需要更多的实现工作。

我认为不能保证你的请求会按照你发出请求的顺序得到处理。如果顺序很重要,您可能应该将请求捆绑为一个请求,或者在发出下一个请求之前等待每个请求返回。

来自浏览器的每个AJAX请求都可以通过不同的网络路径到达服务器。因此,如果浏览器以1、2、3、4、5的顺序发出异步请求,它们可能在进行临时测试时以该顺序显示,但在某些时候,当网络上发生某些变化时,它们可能以类似1、2、5、3、4的顺序到达。如果服务器接收到的消息顺序很重要,则需要创建消息队列。