我是服务器设置新手,我想了解 - 我需要 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 上,另请参阅 lighttpd和 libonion 。顺便说一句,您可以通过 embedding 从 Python 代码调用 libonion它。你可以在 Guile 中编码您的网络应用程序。
P.S.: idk does it matter, but I want to use certificate authentication on my server.
. 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/