<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                ### LOG階段[](http://tengine.taobao.org/book/chapter_12.html#log "永久鏈接至標題") LOG階段主要的目的就是記錄訪問日志,進入該階段表明該請求的響應已經發送到系統發送緩沖區。另外這個階段的handler鏈實際上并不是在ngx_http_core_run_phases函數中執行,而是在釋放請求資源的ngx_http_free_request函數中運行,這樣做的原因實際是為了簡化流程,因為ngx_http_core_run_phases可能會執行多次,而LOG階段只需要再請求所有邏輯都結束時運行一次,所以在ngx_http_free_request函數中運行LOG階段的handler鏈是非常好的選擇。具體的執行的函數為ngx_http_log_request: [](http:// "點擊提交Issue,反饋你的意見...") static void ngx_http_log_request(ngx_http_request_t *r) { ngx_uint_t i, n; ngx_http_handler_pt *log_handler; ngx_http_core_main_conf_t *cmcf; cmcf = ngx_http_get_module_main_conf(r, ngx_http_core_module); log_handler = cmcf->phases[NGX_HTTP_LOG_PHASE].handlers.elts; n = cmcf->phases[NGX_HTTP_LOG_PHASE].handlers.nelts; for (i = 0; i < n; i++) { log_handler[i](r); } } 函數非常簡單,僅僅是遍歷LOG階段的handler鏈,逐一執行,而且不會檢查返回值。LOG階段和其他階段的不同點有兩個,一是執行點是在ngx_http_free_request中,二是這個階段的所有handler都會被執行。 至此,Nginx請求處理的多階段執行鏈的各個階段都已經介紹完畢,弄清楚每個階段的執行時機以及每個階段的不同特點對寫模塊非常重要。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看