在apache中使用解释语言

时间:2011-06-21 12:35:17

标签: c# java apache programming-languages

我想编写一个简单的解释语言并在Apache中使用它。我之前已经编写了一个,但它是在我们自己编写的网络服务器中构建的。

我猜apache将需要编译的文件传递给某些可执行文件,这些文件将“执行”代码并返回apache将html发送给用户?如果我错了,请纠正我。

有没有人知道如何完成这项工作?也许样品?这种语言并不重要(尽管C#或Java会很好,因为我可以处理这两种语言),这更符合理解。

3 个答案:

答案 0 :(得分:3)

如果您不想使用CGI路由,请考虑编写一个Apache模块,该模块可以托管您的解释器,也可以在另一个进程中调用它。这听起来令人生畏,但实际上并没有那么糟糕。起点:

一旦你感到舒服,你可以看看更强大的实施:

  • 从httpd源代码,/httpd/mod_wombat/trunk/是一个完整(但复杂)的视图,了解Lua如何在Apache中托管
  • modwsgi是Apache中富含选项的Python。它尊重WSGI协议。

如果选择模块,您将无法避免使用C.

答案 1 :(得分:1)

Common Gateway Interface (CGI)描述了网络服务器应如何与生成动态网页的程序(如解释程序)进行交互。曾几何时,超过90%的非静态网页都是由CGI调用的Perl解释器生成的......

答案 2 :(得分:1)

我建议您使用apache支持的现有语言。

如果您想了解它可能需要多长时间开发一个新的语言/编译器/运行时工具包,您可以使用Java或PHP作为指南。

的OpenJDK

Codebase         4,782,692 lines
Effort (est.)     1451 person-years
Estimated Cost $79,802,051

http://www.ohloh.net/p/openjdk/estimated_cost

PHP

Codebase     2,696,715 lines
Effort (est.)      772 person-years
Estimated cost     $42m.

http://www.ohloh.net/p/php/estimated_cost

开发语言后,您必须将其与Apache集成。