主要的Web框架(例如Django,Pyramid,Rails等)通常作为持久性服务器运行,并使用像nginx这样的单独Web服务器作为前端。 Web服务器通过FastCGI或SCGI等协议进行连接:
browser --[http]--> nginx --[fastcgi]--> flup -> django
这对我来说似乎很复杂;当后端可以运行自己的HTTP服务器时,为什么请求转换为完全不同的协议?
browser --[http]--> nginx --[http]--> wsgiref -> django
这种方法似乎既简单又灵活,因为只有一种传输协议,而且它是一种RFC。
但是,我不认为我曾经看到一个Web框架鼓励纯http设计,所以我认为必须有一个理由。
在这里使用像FastCGI / SCGI这样的协议有什么好处?