且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何通过浏览器确定远程服务器的等待时间

更新时间:2021-09-20 08:39:06

大多数小应用程序的技术,包括JavaScript,强制执行同源策略。有可能动态地添加DOM元素,例如图像,并收集用onload事件处理程序的定时信息。

Most applet technology, including Javascript, enforces a same-origin policy. It may be possible to dynamically add DOM elements, such as images, and collect timing information using the onload event handler.

Psuedo- code

Psuedo-code

for (server in servers) {
  var img = document.createElement('IMG');
  server.startTime = getCurrentTimeInMS();
  img.onload=function() { server.endTime = getcurrentTimeInMS(); }
  img.src = server.imgUrl;
}

然后等待一个合适的时间和检查的时间为每个服务器对象。根据需要和计算平均数,如果你想重复。我不知道你能期待什么样的精度。

Then wait an appropriate time and check the timing for each server object. Repeat as needed and compute averages if you want. I'm not sure what kind of accuracy you can expect.

缺点:


  • 您可能正在使用错误的工作工具。浏览器不具备这种类型的应用程序。

  • 这可能是相当不准确。

  • 如果您请求的资源被缓存它不会给你你想要的结果,但可以解决,通过每次更改URL。

  • 这是带宽密集型相比正常平。使图像微小的,如一个spacer.gif的文件。

  • 的定时不仅取决于远程服务器的等待时间,但该服务器的带宽。这可能是一个或多或少有用的措施,但要注意,它不是单纯的等待时间是很重要的。

  • 您需要能够从不同的服务器服务于HTTP请求和关键的是,每个服务器应该服务于相同的资源(或相同长度的资源)。在服务器上的条件可以影响响应时间,例如,如果一台服务器为com pressing的数据,另一个是不