Flask/Tornado中的Gzip响应

TTT*_*TTT 4 python gzip wsgi tornado flask

我有一个简单的Flask应用运行.服务我使用龙卷风.启动服务器的代码如下所示:

# Run the app in server mode
http_server = HTTPServer(WSGIContainer(app))
http_server.listen(port)
IOLoop.instance().start()
Run Code Online (Sandbox Code Playgroud)

其中app是Flask WSGI app对象(app = Flask(__name__)).

现在,服务器使用整个JSON答案响应每个请求,是否有(简单)方式返回Gzip数据?在Tornado网站上我找到了http://www.tornadoweb.org/documentation/releases/v2.1.0.html?highlight=gzip,所以必须有Tornado,但Flask解决方案也很棒.

Col*_*ean 5

尼古拉建议,最简单的方法是使用Nginx.它不会增加太多开销.

有了tornado.web.Application,你可以compress_response=True在初始化应用程序时通过.由于您使用的是Flask,因此无法使用.您可以查看Tornado源并查看它正在做什么,但这并不简单.


TTT*_*TTT 4

设置 nginx 仅进行 gzip 压缩似乎很奇怪。

现在我使用这个http://code.google.com/p/ibkon-wsgi-gzip-middleware/,它很好。