我应该使用GZIP压缩中间件吗?

Att*_* O. 10 google-app-engine wsgi

在与Django合作之后,我发现人们倾向于推荐使用GZIP Middleware来压缩HTML页面.

但是,WSGI v1.0规范告诉我们:

(注意:应用程序和中间件不得Transfer-Encoding对其输出应用任何类型,例如分块或gzipping;作为"逐跳"操作,这些编码是实际Web服务器/网关的范围.请参阅下面的其他HTTP功能, 更多细节.)

这表明压缩应留给服务器/网关.这是有道理的,因为服务器可能要快得多.此外,它可能更喜欢SDCH而不是gzip,因为大多数现代Chrome/Chromium浏览器都支持它.

所以我的问题仍然存在,我是否应该使用中间件来压缩我的回复?具体来说,Google App Engine的正确选择是什么?

编辑:

Pylons Book还包含一个示例gzip中间件.

我没有提到我的选择框架是Pyramid(ex-repoze.bfg).

Rob*_*uin 8

如果客户端支持,App Engine 已经压缩了内容.

如果客户端发送带有请求的HTTP标头,指示客户端可以接受压缩(gzip)内容,则App Engine会自动压缩响应数据并附加相应的响应标头.它使用Accept-Encoding和User-Agent请求标头来确定客户端是否可以可靠地接收压缩响应.自定义客户端可以通过指定值为"gzip"的Accept-Encoding和User-Agent标头来强制压缩内容.