Apache服务器技术详解:从处理程序到资源管理
1. Apache处理程序的工作机制
Apache调用处理程序时,仅使用一个参数:请求对象。这个请求对象封装了请求的关键数据,具体如下:
- 发送的字节数
- 内容类型
- 编码方式
- 文件名
- 请求方法
- 路径
- 使用的协议
- 请求描述
- 状态
- URI
如果Apache或之前的处理程序或函数没有填充这些字段,Apache处理程序能够根据需要进行填充。另外,可能会出现这样的情况:处理程序获取了所有所需字段,但无法找到或返回请求的对象。在这种情况下,处理程序会返回一个标准的HTTP错误代码(例如404),然后Apache会构建并返回一个错误结果(如“文件未找到”)。
大多数情况下,Apache传递的请求对象的字段已经填充好。不过,在处理图像映射或CGI脚本时会有例外,因为这两者可能需要客户端原始请求中未包含的资源。此时,Apache会发起内部重定向,并为这些对象中调用的服务器端资源创建一个新的request_rec。
以下是Apache处理程序工作流程的mermaid流程图:
graph TD;
A[接收到请求] --> B[获取请求对象];
B --> C{字段是否填充};
C -- 否 --> D[处理程序填充字段];
C -- 是 --> E{能否找到请求对象};
E -- 是 --> F[返回请求对象];
E -- 否 -->
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



