2017-08-11 52 views
1

通过该机构runtine期间加载apache的模块,或者启动期间?是否在该过程中使用的等间通信机制? apache主动调用模块中的方法,或者模块本身调用apache方法,或者两者兼有。如何在阿帕奇2.2模块操作

例如,get请求commes到apache和mod_spnego(Kerberos验证)被加载。 apache如何知道何时在模块代码中调用main函数?

回答

0

Apache及其模块以C语言编写。模块在启动过程中从共享目标文件(Unix上的.so,Windows上的.dllDynamic Shared Object s)中加载。当构建执行Apache,它也可能静态编译模块插入httpd二进制文件。两种方式,他们都从相同的过程中工作。

如何阿帕奇知道何时调用主功能模块的代码?

看看这些文章,看看有什么说一下

  • 的Apache 2.2,Converting Modules from Apache 1.3 to Apache 2.0

    新架构采用钩子,以提供调用 的功能。这些你需要一个新的 功能,static void register_hooks(void)的方式添加到您的模块。一旦你理解了需要完成的功能,该功能真的是合理简单的 。需要注册 需要在一个 请求的处理某个阶段调用每个函数,处理程序没有。

  • Developing modules for the Apache HTTP Server 2.4

    当处理在Apache HTTP服务器2.4的请求,你 需要做的第一件事情就是创建一个勾入请求处理过程。 hook基本上是一条消息,告诉服务器您愿意 服务于或至少查看 客户给出的某些请求。所有的处理程序,无论是mod_rewrite,mod_authn_ *, mod_proxy等,都被挂钩到请求 进程的特定部分。正如你可能知道的那样,模块服务于不同的目的; 一些是认证/授权处理程序,其他的是文件或 脚本处理程序,而一些第三模块重写URI或代理 内容。