是否';REQUEST_TIME';在PHP中,在DNS解析之前给出时间


Does 'REQUEST_TIME' in PHP give time before DNS resolving?

我想知道是什么导致了这些时间之间的时差:

echo (microtime(true) - $_SERVER['REQUEST_TIME']).'<br>';

我知道microtime(true)给了我当前的时间。我对$_SERVER['REQUEST_TIME']有疑问。这会告诉我们解析DNS之前或解析DNS之后的时间吗?连接和等待时间如何?如果不是,这个变量告诉我们接收第一个字节的时间吗?

客户端请求如下:

  • 解析服务器IP地址的DNS请求
  • 请求到服务器(Request_TIME现在开始)
  • web服务中的请求处理&PHP
  • 分块或一次发送回客户端的数据(第一个字节)

REQUEST_TIME由web服务提供商(Apache)在请求开始时设置。正如PHP网站上的$_SERVER页面所指出的。

Offtopic:如果在正确的地方使用REQUEST_TIME(),可以优化资源。这是因为time()执行系统请求以查找服务器上的时间。

有关其他信息,请参阅此StackOverflow问题。

编辑:澄清客户请求流程以便于评论