xmlhttprequest在请求处理后是否保持连接打开?

时间:2012-12-29 11:20:16

标签: php javascript ajax codeigniter xmlhttprequest

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

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

我看了一下,看到客户端因此保持持久连接 与服务器。这支持流水线操作,客户端可以在不等待每个响应的情况下发送多个请求。

所以我有一些问题:

  1. xmlhttprequest实际上在哪里打开与服务器的连接?
  2. 创建许多xmlhttprequest对象是打开自己的连接还是使用管道传输将它发送到同一个连接上??
  3. 我想处理同步请求..我可以排队请求(存储参数)..并在onreadystate提供函数来处理它...即调用递归请求的函数?或者它根本不是一个好主意?
  4. 什么阶段,连接何时关闭?
  5. 其他信息: 我不想为ajax使用jquery或任何其他库。你可以提议。一世 可以检查它们的工作原理。 我正在使用javascrip和php(codeigniter框架)。 我希望能够处理多个请求(2)..和队列请求 在达到限制时做出。

    提前致谢:)

1 个答案:

答案 0 :(得分:2)

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

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

此处,MethodHTTP请求方法。见http://www.w3.org/TR/XMLHttpRequest/#the-open()-method

  

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

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

  

什么时候连接关闭......

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