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

Does xmlhttprequest keep connection open after request has been processed?

本文关键字:连接 是否 处理 请求 xmlhttprequest      更新时间:2023-09-26

我做了一个简单的ajax…

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

我看了一下,发现客户端因此维持了一个持久连接与服务器。这支持流水线,客户端可以发送多个请求而不必等待每个响应。

所以我有一些问题:

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

其他信息:我不想为ajax使用jquery或任何其他库。不过你可以求婚。我可以查看它们是如何工作的。我使用javascript和php(编码器框架)。我希望能够处理多个请求(2)..和队列请求

提前感谢:)

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

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

这里,MethodHTTP请求使用的方法。看到http://www.w3.org/TR/XMLHttpRequest/open()方法

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

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

连接何时关闭,在哪个阶段?

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