7

我做了一个简单的ajax...

请求和响应标头都包含连接:Keep-Alive

我凝视了一下,看到客户端因此与服务器保持持久连接。这支持流水线,客户端可以发送多个请求而无需等待每个响应。

所以我有一些问题:

  1. xmlhttprequest 实际上在哪里打开到服务器的连接?
  2. 创建许多 xmlhttprequest 对象是打开它们自己的连接还是使用流水线在同一连接上发送它......?
  3. 我想处理同时请求..我可以排队请求(存储参数)..并在onreadystate提供函数来处理它..即调用递归发出请求的函数?或者这根本不是一个好主意?
  4. 连接何时关闭..在什么阶段?

其他信息: 我不想为 ajax 使用 jquery 或任何其他库。不过你可以提出建议。我可以检查它们是如何工作的。我正在使用 javascrip 和 php(codeigniter 框架)。我希望能够处理达到限制时发出的多个请求(2)..和队列请求。

提前致谢 :)

4

1 回答 1

2

XMLHttpRequest 是一个对象,可让您在不刷新页面的情况下从服务器请求和接收数据。它使用HTTPHTTPS请求。它与请求和接收 HTML 页面基本相同。您可以同步或异步打开它们。

XMLHttpRequest.open( Method, URL, Asynchronous, UserName, Password )

这里,MethodHTTP使用的请求方法。见http://www.w3.org/TR/XMLHttpRequest/#the-open()-method

我想处理同时请求..我可以排队请求(存储参数)..并在onreadystate提供函数来处理它..即调用递归发出请求的函数?或者这根本不是一个好主意?

我会创建一个 XMLHttpRequests 数组并处理数据并从数组中删除 XMLHttpRequest onreadystatechange。请记住,您将收到混合顺序的异步响应,或者可能根本不会收到响应。

连接何时关闭..在什么阶段?

它在收到数据后立即关闭。请注意,这keep-alive是关于保持会话活动,而不是连接。

于 2012-12-29T15:40:02.700 回答