web服务器 - .net,java,php这些服务器端的进程是如何获取web客户端传递的参数的?
首先谈下我对这个过程的模糊认识:
1.Web客户单向Web服务器发起请求
2.Web服务器启动一个CGI进程,CGI进程从打开的文件描述符中读取请求数据
3.问题:
a.CGI进程如何将请求参数传递给.net,java,php这些进程?
b.net,java,php这些进程是一直运行的吗?
c.一个简单的HTTP请求至少要涉及到3个进程间的通信?
回复内容:
首先谈下我对这个过程的模糊认识:
1.Web客户单向Web服务器发起请求
2.Web服务器启动一个CGI进程,CGI进程从打开的文件描述符中读取请求数据
3.问题:
a.CGI进程如何将请求参数传递给.net,java,php这些进程?
b.net,java,php这些进程是一直运行的吗?
c.一个简单的HTTP请求至少要涉及到3个进程间的通信?
a、通过环境变量和STDIN传递信息
b、CGI进程有几种运行方式,普通的CGI是不一直运行的,每次请求都会创建一个CGI进程,但是这种方式会导致CGI进程的频繁创建和销毁浪费性能,所以就有了FAST-CGI,CGI进程会在一个进程池里呆着,每当有请求就会唤醒一个进程去处理,处理完成就回到进程池
c、以lnmp为例,请求首先送给Nginx,然后由nginx交给php-fpm,php-fpm是PHP的FAST-CGI管理器,收到nginx发来的请求后再传递给php-cgi,处理完成再传递回去,于是就有三个进程参与此次请求的处理
既然是web客户端的就大致说下走http的数据把:
题主可以先看看http文件格式,我们的GET、POST、COOKIE这些数据都是包装在http信息里面的纯文本,
到server端,收到这些http数据的软件会对这些纯文本进行解析,就这样

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



PHP 8.4 brings several new features, security improvements, and performance improvements with healthy amounts of feature deprecations and removals. This guide explains how to install PHP 8.4 or upgrade to PHP 8.4 on Ubuntu, Debian, or their derivati

Visual Studio Code, also known as VS Code, is a free source code editor — or integrated development environment (IDE) — available for all major operating systems. With a large collection of extensions for many programming languages, VS Code can be c

This tutorial demonstrates how to efficiently process XML documents using PHP. XML (eXtensible Markup Language) is a versatile text-based markup language designed for both human readability and machine parsing. It's commonly used for data storage an

A string is a sequence of characters, including letters, numbers, and symbols. This tutorial will learn how to calculate the number of vowels in a given string in PHP using different methods. The vowels in English are a, e, i, o, u, and they can be uppercase or lowercase. What is a vowel? Vowels are alphabetic characters that represent a specific pronunciation. There are five vowels in English, including uppercase and lowercase: a, e, i, o, u Example 1 Input: String = "Tutorialspoint" Output: 6 explain The vowels in the string "Tutorialspoint" are u, o, i, a, o, i. There are 6 yuan in total

JWT is an open standard based on JSON, used to securely transmit information between parties, mainly for identity authentication and information exchange. 1. JWT consists of three parts: Header, Payload and Signature. 2. The working principle of JWT includes three steps: generating JWT, verifying JWT and parsing Payload. 3. When using JWT for authentication in PHP, JWT can be generated and verified, and user role and permission information can be included in advanced usage. 4. Common errors include signature verification failure, token expiration, and payload oversized. Debugging skills include using debugging tools and logging. 5. Performance optimization and best practices include using appropriate signature algorithms, setting validity periods reasonably,

Java 8 introduces the Stream API, providing a powerful and expressive way to process data collections. However, a common question when using Stream is: How to break or return from a forEach operation? Traditional loops allow for early interruption or return, but Stream's forEach method does not directly support this method. This article will explain the reasons and explore alternative methods for implementing premature termination in Stream processing systems. Further reading: Java Stream API improvements Understand Stream forEach The forEach method is a terminal operation that performs one operation on each element in the Stream. Its design intention is

Static binding (static::) implements late static binding (LSB) in PHP, allowing calling classes to be referenced in static contexts rather than defining classes. 1) The parsing process is performed at runtime, 2) Look up the call class in the inheritance relationship, 3) It may bring performance overhead.

What are the magic methods of PHP? PHP's magic methods include: 1.\_\_construct, used to initialize objects; 2.\_\_destruct, used to clean up resources; 3.\_\_call, handle non-existent method calls; 4.\_\_get, implement dynamic attribute access; 5.\_\_set, implement dynamic attribute settings. These methods are automatically called in certain situations, improving code flexibility and efficiency.
