【问题标题】:What is meant by "extending httpd" in the context of mod_python?在 mod_python 的上下文中“扩展 httpd”是什么意思?
【发布时间】:2015-03-15 13:47:39
【问题描述】:

a highly-upvoted comment to this answer 中做了两个声明:

mod_wsgi 用于运行网络应用程序。

mod_python 用于扩展 httpd。

我想第一个陈述将交互式网站称为网络应用程序。但是第二个陈述是什么意思? httpd 是非常常见的为网站服务的 Apache 守护进程。 Apache如何扩展?这与“提供网络应用程序”有何不同?

【问题讨论】:

    标签: python wsgi


    【解决方案1】:

    mod_python 可用于一般地编写 Apache 扩展

    mod_rewrite 之类的扩展(尽管配置更笨重)可以用mod_python 编写;它并非专门用于提供用 Python 编写的 Web 服务,但可用于修改 Apache 行为,甚至与其他应用服务器或内容源一起使用。

    original paper introducing mod_python 详细说明了这一点:用 mod_python 编写的处理程序可以对请求采取一些行动,然后拒绝充当终端处理程序,让其他 Apache 模块(最终包括静态处理程序)决定返回什么。

    【讨论】:

    • 谢谢!通过给出的示例,陈述变得清晰。
    • 也可以使用 mod_wsgi 来扩展 Apache 的某些部分。事实上,人们以前使用 mod_python 的主要原因是实现自定义身份验证机制。也可以使用 mod_wsgi 来做到这一点,它实际上以一种更好的方式来做到这一点,正确地挂钩到 Apache 的身份验证提供程序挂钩。就使用 Python 扩展 Apache 而言,除此之外并没有太多用处。其他一切都只是 Python Web 应用程序。
    【解决方案2】:

    这只是意味着 Apache 能够解释 Python 脚本并将 Python 替换为 HTML/js 以服务于客户端。允许它提供用 Python 编写的“网络应用程序”

    【讨论】:

    • 这个答案是完全错误的; mod_python 比这灵活得多,并且可以拦截并与它不为自己提供正文内容的请求进行交互。 (确实,否则这种区别就没有意义了——mod_wsgi 也可以在 Python 中为 webapps 提供正文内容)。
    猜你喜欢
    • 2017-06-29
    • 1970-01-01
    • 1970-01-01
    • 2015-07-09
    • 2022-11-22
    • 2020-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多