查询的标签:


Apache中的Hook(挂钩)剖析(3)

标签: , and

5.5.7 可选挂钩
与标准挂钩相比,可选挂钩基本上没有太大的差异,唯一的区别就在于可选挂钩不一定需要被实现——这看起来令人迷惑的。不过你很快就会明白了。考虑一下,如果某个挂钩Hook_A是声明在一个可选模块中,那么正常情况下该模块没有被加载。如此此时某个模块想使用挂钩Hook_A,那么会发生什么情况呢。对于标准模块,Apache可能根本就无法进行编译。而可...

No Comments »

Apache中的Hook(挂钩)剖析(2)

标签: , and

Apache中的挂钩剖析(2)

作者:张中庆 来源:不详 (2006-02-21 12:12:23)

5.5.5 挂钩函数(APR_IMPLEMENT_EXTERNAL_HOOK_BASE)
从宏的名字我们就可以大体看出该宏实际上是实现了具体的挂钩注册函数,如果将其展开后我们会更加一目了然。该宏的定义也是冗长的很,如下所示:
#define APR_IMPLEMENT_EXTERNAL_HOOK_BASE(ns,link,name) \
link##_DECLARE(void) ns##_hook_##name(ns##_HOOK_##name##_t *pf, \ No Comments »


Apache中的Hook(挂钩)剖析(1)

标签: , , and

最近发现了一篇很有用的文章,关于Apache中对Hook挂钩的介绍。还没来得及细看,先转载一下吧,以后有空再细看~
5.5 挂钩(HOOK)
5.5.1 为什么引入挂钩
在Apache1.3版本中,对HTTP请求的处理包括若干个固定阶段,比如地址转换阶段、身份确认阶段、身份认证阶段、权限确认阶段、MIME类型识别阶段等等,这也意味着Apache1.3中的挂钩数目是有限的,固定的。这个反映在...

No Comments »