1

我是服务器设置的新手,我想了解 - 我需要 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)?

4

1 回答 1

2

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

在 Linux 上,另请参见lighttpdlibonion。顺便说一句,您可以通过嵌入Python 代码来调用 libonion 。您可以在Guile中编写您的 Web 应用程序。

PS: idk 没关系,但我想在我的服务器上使用证书身份验证。

这需要HTTPS和可能的OpenSSL

. 我需要通过我的服务器处理来自此应用程序的一些 POST 请求

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

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

于 2020-08-13T09:45:39.357 回答