python - 我需要 Apache 吗?

标签 python apache rest http basehttprequesthandler

我是服务器设置新手,我想了解 - 我需要 Apache 或 smth 来处理 HTTP 请求吗?

例如,我收到 GET /api 请求,并且我想发送响应。 我可以在没有 Apache 的情况下做到这一点吗?例如,只需创建 BaseHTTPRequestHandler Python 类并重新定义 do_GET

class MyHandler(BaseHTTPRequestHandler):
    def do_GET(self):
        if self.path == '/api':
            some_function()
        else:
            another_function()
            
        self.send_response(200)

并使用如下代码:

httpd = socketserver.TCPServer(("", 8080), MyHandler)
httpd.serve_forever()

那么我可以在没有 Apache 的情况下完成它吗?如果是,为什么人们需要 Apache?

PS:idk 这很重要,但我想在我的服务器上使用证书身份验证。

PSS:需要明确的是 - 我的公司只是“租用”一个应用程序,所以我不需要编写应用程序代码。我需要通过我的服务器处理来自此应用程序的一些 POST 请求,然后将一些 POST 请求从我的服务器发送到此应用程序(到其服务器)。那么可以使用我在问题中描述的清晰的 Linux 和 python 脚本来做到这一点吗?或者我需要安装一些 HTTP 服务器(如 Apache)吗?

最佳答案

您可能需要一些HTTP服务器。有许多替代方案(特定于操作系统),您可能会找到一种用 Python 编码的方案。

在 Linux 上,另请参阅 lighttpdlibonion 。顺便说一句,您可以通过 embedding 从 Python 代码调用 libonion它。你可以在 Guile 中编码您的网络应用程序。

P.S.: idk does it matter, but I want to use certificate authentication on my server.

这需要 HTTPS可能OpenSSL .

. I need to handle some POST requests from this application by my server

您可能应该使用一些 HTTP 客户端库。 Python 有一个,但您也可以使用 libcurl .

HTTP 或 HTTPS 协议(protocol)交互(请求和回复)方面的原因

关于python - 我需要 Apache 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63392360/

相关文章:

apache - 如何解决apache的高CPU负载? (ubuntu+ec2)

apache - 根据国家/地区重定向?

database - 使用 Web 应用程序处理慢速数据库的策略

python - 使用行和列索引在 numpy 中加载表,就像在 R 中一样?

python - GaussianMixture sklearn 开始先验

apache - mod 为 tomcat + apache 重写清除主页 url

node.js - 如何将 RxJs observable 的结果作为 Node.js 的剩余响应返回

rest - 当位置参数不安全时在 REST 中获取

python - 计算字符串python中的字母

python - 使用 Keras、Tensorflow 进行多时间序列维度的 RNN 时间序列预测