Apache做为功能强大的web服务器,经常把用来作为前端服务器,服务的处理逻辑通过module传递给后台的服务。大致这样一个结构:
 client <—-> Apache<—>Module<—>Server
这样做的好处在于:
1. 服务器省掉负责的并发处理环节,把这些交给久经考验的Apache。
2. 服务走标准的http协议,扩展能力强,便于分布式处理。而且服务不容易不防火墙、杀毒软件之类的封掉。部署和配置起来也很方便。便利多多啊
3. 把连接和处理逻辑分离开。保持各自的简单性。

ApacheModule的开发就属于中间比较重要的环节了。把一个东西,插入Apache中,来处理请求。听起来有点复杂,高深的样子,不过做上两个module就明白不是什么艰难的事情。说白了,就是要弄清楚Apache的工作模式和处理请求的链,然后把自己的module插入到某一个处理环节之中。可以见《The.Apache.Modules.Book.2007》,讲的比较详细。另外在写module的时候,Apache就是你的工作平台,需要熟悉它的内存分配,IO处理、日志处理、读取配置之类的东西。这方面最让人郁闷的就是没有详细的文档,不像jdk或者python的文档那样分类详细,具体。不明白只有看源码,看示例。它自带的几个示例还是很有得看的。

当然了,非常重要的一点是需要知道http协议,至少有一个大致了解。http请求头,回复格式, cache控制之类的。

嗯,大致这么多,一些泛泛而谈的东西,希望对你有所帮助。

Tags: .
首页

No Comments Now!

Be the first to comment on this entry.

请您留下评论

名称(必填)
Mail (必填),(will not be published)
网站(recommended)

Fields in bold are required. Email addresses are never published or distributed.

Some HTML code is allowed:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
URLs must be fully qualified (eg: http://www.hongzhixiong.com),and all tags must be properly closed.

Line breaks and paragraphs are automatically converted.

Please keep comments relevant. Off-topic, offensive or inappropriate comments may be edited or removed.