阅读这篇"理解Apache访问日志“的文章,它指的是http://httpd.apache.org/docs/1.3/logs.html,它说
%t是服务器完成处理请求的时间。
通过这一点,我了解到在服务器处理请求之前不会写入access.log中的一行。因此,如果请求花费一分钟时间,时间戳将是服务器收到请求后的一分钟。
但是,上面的文档是针对Apache1.3的。看这个http://httpd.apache.org/docs/2.2/mod/mod_日志_config.html,上面写着
收到请求的时间%(标准英语格式)
现在理解基于上面的示例,时间戳指的是服务器第一次接收请求的时间。但是如果是这样的话,那么Apache将需要在请求被处理后的另一次更新access.log。或者等待更新access.log,直到请求完成,但我怀疑,因为我希望事件不会按时间排序--但它们确实是(根据我的理解,第一个解释更加合理)。
那么,哪一个是正确的,完成了处理还是收到--或者两者都取决于版本?(或者,我还没有完全理解.)
发布于 2014-07-02 10:11:19
Apache在请求完成后写入日志文件。它能够记住启动请求的时间,并在请求完成后将此时间写入日志文件。
这意味着Apache日志文件不会被严格排序。由于请求需要很长时间,可能会有较早的记录被记录得很晚。
Apache从不返回并修改日志条目。
https://webmasters.stackexchange.com/questions/65566
复制相似问题