我需要Apache吗?

问题描述

我是服务器设置的新手,我想了解-我需要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无关紧要,但是我想在服务器上使用证书身份验证。

这需要HTTPS,可能还需要OpenSSL

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

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

关于HTTP或HTTPS协议交互(请求和答复)的原因