免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: hitsubunnu
打印 上一主题 下一主题

请教 modcgi modperl fastcgi 运行原理 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2009-09-18 16:55 |只看该作者
1. 最原始的cgi要想 移植到 modperl下 是通过 ModPerl::Registry  吗 当然要按照规范写   这种移植性能上有提升吗?
  2.registry 和 handler 的区别 ?


1. 是通过ModPerl::Registry。不过说实话,我这样写的经验很少。性能提升是肯定的,因为CGI也是只load和compile一次,然后就常驻内存运行。
2. CGI与Apache的交互是通过$q ($q=CGI->new)来实现的,其实是访问环境变量。modperl是通过$r来交互的,$r你应该清楚了吧,它包含apache的一切内部API。Registry是封装了CGI的modperl,数据传送应该是apache -> registry -> CGI这种方式,内部细节具体是怎么样的,坦白说我也不是很清楚。

一般用modperl的,确实都会使用某种模板。我过去一直用Mason,它就是为modperl而生的。

mod_perl作为开源开发工具,缺少有实力的厂商支持,框架少,概念复杂,代码可移植性和维护性都差,我认为它前途不怎么样,不比JAVA。
但是,modperl比JAVA快,这是不争的事实。而且modperl比java强大,比如开发一个响应Filter,modperl可以加入任何HTTP头部,而Java只能加入有限的几个头部。

论坛徽章:
0
12 [报告]
发表于 2009-09-18 17:19 |只看该作者
非常感谢  这些问题困惑了我很久  一直没办法印证

在ModPerl::Registry 下为了减少编写语法上的麻烦 我都将成程序按照mvc划分 然后把所有东西都写成模块 通过几个入口调用 c部分模块 再调用mv的模块

条件允许的话 我更喜欢用mason 或者 catalyst  

不是特殊情况很少去使用$r 编写底层的东西   modperl实在是太复杂了  

再次表示感谢

论坛徽章:
0
13 [报告]
发表于 2009-09-18 17:28 |只看该作者
原帖由 hitsubunnu 于 2009-9-18 17:19 发表
非常感谢  这些问题困惑了我很久  一直没办法印证

在ModPerl::Registry 下为了减少编写语法上的麻烦 我都将成程序按照mvc划分 然后把所有东西都写成模块 通过几个入口调用 c部分模块 再调用mv的模块

条 ...


没用过catalyst, 装都没装好过,
modperl缺乏好用易用的框架,这也是我对MP开发不太看好的原因。
为什么不像Java或Python呢,WEB框架一抓就一堆。

anyway welcome交流。

论坛徽章:
0
14 [报告]
发表于 2009-09-18 17:53 |只看该作者

论坛徽章:
0
15 [报告]
发表于 2009-09-18 18:14 |只看该作者
原帖由 hitsubunnu 于 2009-9-18 17:53 发表
看看这个最前卫的框架 http://www.perlfoundation.org/il ... ramework_for_perl_6


perl6。。遥遥无期啊。
不知Perl6下还有没有mod_perl?
如果用虚拟机的话,岂非跟java一样?
把web服务器port在虚拟机里,就跟java一样了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP