Apache2.2学习笔记(一)

以下内容转自Apache官文文档:http://httpd.apache.org/docs/。部分加上个人理解。

 

1. Apache处理器

"处理器"是当一个文件被调用时,Apache所执行操作的内部表现。文件一般都有基于其文件类型的隐含处理器。通常,文件都只是被服务器简单的提交,只有某些文件类型会被特别地"处理"。

 

处理器可以被编译进服务器也可以包含在模块中,还可以用Action 指令增加。标准发行版中内建的处理器如下:

  • default-handler :使用default_handler() 发送文件,这是处理静态内容的默认处理器。(core )
  • send-as-is :按原样带HTTP头发送文件。(mod_asis )
  • cgi-script :将文件视为CGI脚本。(mod_cgi )
  • imap-file :将文件作为映射表规则文件解析。(mod_imagemap )
  • server-info :获取服务器的配置信息。(mod_info )
  • server-status :获取服务器状态的报告。(mod_status )
  • type-map :将文件作为类型表文件解析以实现内容协商。(mod_negotiation )

例1:用CGI脚本修改静态的内容

以下指令,将使对带有html 后缀的文件的请求,调用CGI脚本footer.pl

Action add-footer /cgi-bin/footer.pl
AddHandler add-footer .html

然后,由CGI脚本负责发送(由环境变量PATH_TRANSLATED 指向的)原始请求文档,并按需要进行修改或增加。

 

例2:带HTTP头的文件

以下指令启用send-as-is 处理器,它用于处理本身包含HTTP头的文件,这样,所有位于/web/htdocs/asis/ 目录中的文件,无论其后缀名是什么,都由send-as-is 进行处理。

<Directory /web/htdocs/asis>
SetHandler send-as-is
</Directory>

 

这样就可以理解mod_python的工作原理了。对于python开发的网站,可以在特定的目录下,指定文件该如何被处理。

<Directory /some/file/system/directory>
AddHandler mod_python .py
PythonHandler mptest
PythonDebug On
</Directory>

然后可以创建一个mptest.py:
1 from mod_python import apache
2
3 def handler ( req ) :
4 req . log_error ( 'handler' )
5 req . content_type = 'text/plain'
6 req . send_http_header ( )
7 req . write ( 'mptest.py/n' )
8 return apache . OK



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值