Nginx有11个HTTP阶段,如官方文档所述:http://nginx.org/en/docs/dev/development_guide.html#http_phases。
最后两个阶段如下。
NGX_HTTP_CONTENT_PHASE
生成响应(例如,从上游接收)。NGX_HTTP_LOG_PHASE
打印请求到access.log
。
我有两个问题。
1.在生成响应后,Nginx似乎没有“响应阶段”。为什么?为什么?
1.由于没有响应阶段,Nginx会在响应发送到客户端之后还是之前打印访问日志?
1条答案
按热度按时间hxzsmxv21#
我在回答我自己的问题。
1.在生成响应后,Nginx似乎没有“响应阶段”。为什么?为什么?
没有“React阶段”。响应发送隐含在“内容阶段”中。
1.由于没有响应阶段,Nginx会在响应发送到客户端之后还是之前打印访问日志?
Ningx在响应发送到客户端后写入访问日志,可以通过access log_format进行验证。在访问日志中,我们可以记录
$bytes_sent
和$request_time
。这两个值只有在响应完全发送到客户端后才可用。