我需要获取客户端到达服务器的请求时间,反之亦然。 所以我已经能够在Python中做到这一点,这对我现在的网页没有帮助。
所以我听说可以使用Ajax完成,是真的吗?
如果是这样,你能否给我一些我应该从哪里开始的细节或信息?
谢谢,期待一个答案!
答案 0 :(得分:1)
您可以通过http模拟ping,但这不是很准确。一种简单的方法是以ms或ns发布当前timespamp,然后等待同一时间的响应。响应的实际时间和时间之间的差异是所谓的往返时间(RTT)。如果将它除以2,则得到ping的响应时间。
答案 1 :(得分:0)
在较新的浏览器上,您可以使用navigation timing API(HTML5 rocks article on navigation timing)来细分加载页面所需的时间。您可以简单地从“performance.timing”中减去相关字段,以获得您感兴趣的时间。(secureConnectionStart - connectStart)
或(connectEnd - connectStart)
,取决于连接是否为SSL连接,看起来像是合理的近似ping时间(但是,正如rekire @指出的那样,如果你试图衡量最终用户网站的整体用户可见延迟,你可能想要包含更多内容)。
答案 2 :(得分:0)
供您参考,ajax ping的工作原理如下。 不幸的是,您很可能会受到域策略的阻止而永远不会取得成功。
function ping(){
$.ajax({
url: 'http://website.com',
success: function(result){
alert('replied');
},
error: function(result){
alert('error');
}
});
请参阅this code,了解您正在尝试执行的操作看似成功的示例。