Apache请求处理循环详解 :

1、Post-Read-Request阶段: 在正常请求处理流程中,这是模块可以插入钩子的第一个阶段。对于那些想很早进入处理请求的模块来说,这个阶段可以被利用。

2、URI Translation阶段 :  Apache在本阶段的主要工作:将请求的URL映射到本地文件系统。模块可以在这阶段插入钩子,执行自己的映射逻辑。mod_alias就是利用这个阶段工作的。

3、Header Parsing阶段 :  Apache在本阶段的主要工作:检查请求的头部。由于模块可以在请求处理流程的任何一个点上执行检查请求头部的任务,因此这个钩子很少被使用。mod_setenvif就是利用这个阶段工作的。

4、Access Control阶段 :  Apache在本阶段的主要工作:根据配置文件检查是否允许访问请求的资源。Apache的标准逻辑实现了允许和拒绝指令。mod_authz_host就是利用这个阶段工作的。

5、Authentication阶段 :  Apache在本阶段的主要工作:按照配置文件设定的策略对用户进行认证,并设定用户名区域。模块可以在这阶段插入钩子,实现一个认证方法。

6、Authorization阶段 :  Apache在本阶段的主要工作:根据配置文件检查是否允许认证过的用户执行请求的操作。模块可以在这阶段插入钩子,实现一个用户权限管理的方法。

7、MIME Type Checking阶段 :  Apache在本阶段的主要工作:根据请求资源的MIME类型的相关规则,判定将要使用的内容处理函数。标准模块mod_negotiation和mod_mime实现了这个钩子。

8、FixUp阶段 :  这是一个通用的阶段,允许模块在内容生成器之前,运行任何必要的处理流程。和Post_Read_Request类似,这是一个能够捕获任何信息的钩子,也是最常使用的钩子。

9、Response阶段 : Apache在本阶段的主要工作:生成返回客户端的内容,负责给客户端发送一个恰当的回复。这个阶段是整个处理流程的核心部分。

10、Logging阶段 :  Apache在本阶段的主要工作:在回复已经发送给客户端之后记录事务。模块可能修改或者替换Apache的标准日志记录。

11、CleanUp阶段 : Apache在本阶段的主要工作:清理本次请求事务处理完成之后遗留的环境,比如文件、目录的处理或者Socket的关闭等等,这是Apache一次请求处理的最后一个阶段。

最新文章

  1. 用C#实现 查看exe所加载dll列表的功能
  2. HDU 4911 (树状数组+逆序数)
  3. linux应用程序开发-文件编程-系统调用方式
  4. coreseek实战(三):全文搜索在php中应用(使用api接口)
  5. WWDC2015 结束.新一波更新以及bug即将来袭.
  6. 关于SharePoint 的Client object model该何时load和execut query的一点自己的看法
  7. 在centos下部署docker内网私服
  8. C#中修改Dll文件 (反编译后重新编译)
  9. VMware Workstation中linux(centos)与windows7共享文件夹
  10. Elasticsearch 学习~
  11. 实现QQslidingMenu侧滑效果学习笔记
  12. Oracle 大数据处理(一)
  13. Eclipse 输入出错时自动查找类
  14. Linux(CentOS6.5)下编译Popt报错”GNU gettext is required. The latest version”(gettext已经编译安装,但是没有安装在默认目录)的解决方案
  15. 企业业务数据处理用“work”还是“MQ”
  16. JMeter-正则表达式(HTML)
  17. ZXX43大神实现的软渲染
  18. 【协议】1、tcp,http,socket协议介绍
  19. Bugku-CTF之web基础$_GET
  20. Python requests如何将第一个请求得到的 cookie 通过 POST 提交给第二个请求

热门文章

  1. URL的# (转)
  2. C# Socket的TCP通讯
  3. css 重新学习系列(3)
  4. jsp环境搭建(Windows)
  5. Tinyxml封装类COperatorXml
  6. git 强制覆盖本地文件
  7. Dynamic Performance Tables not accessible Automatic Statistics disabled for this session
  8. 在windows系统用odbc连接
  9. LightOJ 1336 Sigma Function(数论 整数拆分推论)
  10. Node.js学习 - Route