有没有办法从 HTTP 服务器获取有关 HTTP 请求持续时间的可靠信息?
感兴趣的场景:
使用 POST 方法针对 PHP 脚本发送带有数据负载的 AJAX 请求:
//dispatch ajax request
$.ajax({
type: "POST",
url: "timing.php",
data: {
"payload":"some long string or something",
"currentTime": +new Date() //miliseconds on client
},
success: function(response) { console.log(response) },
error: function() { console.log('something went banana...') },
dataType: "text"
});
PHP 脚本“timing.php”可能会这样说:
<?php
//in the meanwhile, on a quiet server...
$currentTime = microtime(true); //microseconds on server
//send headers as necessary, and then, the payload
echo $currentTime * 1000 - $_POST["currentTime"];
?>
我想知道的是从请求到达 http 服务器到服务器调用 PHP 脚本之间经过了多长时间。处理(加载)POST 请求的输入参数需要多长时间。不是从 Javascript currentTime 到 PHP $currentTime 所花费的时间,而是 Apache 从 AJAX 请求加载“有效负载”(和“currentTime”)所花费的时间。应该在服务器端收集时间。
下落:
- 客户端和服务器在同一个时区(而且,客户端没有对它的时间设置做任何令人兴奋的事情),
- 服务器具有默认配置和模块的 PHP5/Apache2,
- 所需的时间分辨率为毫秒