Le traitement des requêtes http par nginx est la fonction la plus importante de nginx et aussi la partie la plus complexe. Vous pouvez parler grossièrement du processus d'exécution :
Requête de lecture de l'en-tête ;
Analyser la ligne de requête ; ;
Analyser l'en-tête de la requête ;
Lire le corps de la requête
Démarrer le plus ; partie importante, c'est-à-dire le traitement en plusieurs étapes ; nginx divise le traitement de la demande en 11 étapes, ce qui signifie qu'après que nginx a lu la ligne de demande et l'en-tête de la demande, il encapsule la demande dans la structure ngx_http_request_t, puis le gestionnaire de chaque étape sera basé sur ce ngx_http_request_t, Traiter la demande, telle que la réécriture de l'URI, le contrôle des autorisations, la recherche de chemin, la génération de contenu et la journalisation, etc.
Renvoyer le résultat au client
La fonction principale de la fonction ngx_http_process_request_line est d'analyser la ligne de requête. De plus, parce qu'elle implique des opérations d'E/S réseau, même une ligne de requête courte peut ne pas être lue en même temps, donc dans la fonction ngx_http_init_request précédente, la fonction ngx_http_process_request_line est. défini sur La fonction de traitement des événements de lecture n'a qu'un paramètre de type ngx_event_t * unique, et au début de la fonction, il est également nécessaire de déterminer s'il s'agit d'un événement de délai d'attente. Si tel est le cas, fermez la demande et la connexion, sinon démarrez le. processus d'analyse normal. Appelez d'abord la fonction ngx_http_read_request_header pour lire les données. Le traitement en plusieurs étapes est la partie la plus importante du module nginx, car des modules tiers sont également enregistrés iciTutoriel d'utilisation de Nginx pour apprendre !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!