NGINX actual HTTP Request processing flow is divided into 11 stages.
The reason for this division is to perform logical subdivision request to the module as a processing unit, the various stages can contain any number of HTTP modules and pipelined manner request.
The advantage of this is to make the process more flexible, reducing the degree of coupling.
NGX_HTTP_POST_READ_PHASE
― The phase of the read request;NGX_HTTP_SERVER_REWRITE_PHASE
― The URI conversion phase at the server level;NGX_HTTP_FIND_CONFIG_PHASE
― Search out the configuration in which the request will be processed;NGX_HTTP_REWRITE_PHASE
― URI conversion phase at location level;NGX_HTTP_POST_REWRITE_PHASE
― The processing phase of the request URI conversion result;NGX_HTTP_PREACCESS_PHASE
― Preparation phase for access control;NGX_HTTP_ACCESS_PHASE
― Access verification phase;NGX_HTTP_POST_ACCESS_PHASE
― Phase processing of the results of the access check;NGX_HTTP_TRY_FILES_PHASE
―try_files
processing phase;NGX_HTTP_CONTENT_PHASE
― Response generation phase;NGX_HTTP_LOG_PHASE
― Log recording phase;