Apache HTTP服务器 2.0版本
相关模块 | 相关指令 |
---|---|
“处理器”是当一个文件被调用时,Apache所执行操作的内部表现。 文件一般都有基于其文件类型的隐含的处理器。 通常,文件都只是被服务器作简单的提交,只有某些文件类型会被特殊地“处理”。
Apache 1.1显式地增加了使用处理器的能力。 处理器可以被指定给文件名后缀或位置,而不仅是文件类型, 其优越性不仅在于它是一个优秀的方案, 还在于它允许一个文件同时与一种类型和一个处理器相关联。 (参见Files with Multiple Extensions.)
处理器可以被编译进入服务器,也可以包含于模块中,还可以用Action
指令增加。标准发行版中内建的处理器如下:
default_handler()
发送文件,
这是处理静态内容的默认的处理器(core)。mod_asis
)mod_cgi
)mod_imap
)mod_info
)mod_status
)mod_negotiation
)以下指令,将使对带有html
后缀的文件的请求,
调用CGI脚本footer.pl
。
Action add-footer /cgi-bin/footer.pl
AddHandler add-footer .html
然后,由CGI脚本负责发送(由环境变量PATH_TRANSLATED
指向的)原始请求文档,
并按需要进行修改或增加。
以下指令使send-as-is
处理器有效,它是用来处理本身拥有HTTP头的文件的,
如此,所有位于/web/htdocs/asis/
目录中的文件,
无论其后缀是什么,都由send-as-is
进行处理。
<Directory /web/htdocs/asis>
SetHandler send-as-is
</Directory>
为了实现处理器功能,Apache API
里面增加了一些内容,可能你会用到。尤其是,request_rec
结构中增加了一个记录:
char *handler
如果你的模块需要用处理器,只须在对请求执行invoke_handler
之前,
设置r->handler