【问题标题】:Should I use a GZIP compression middleware or not?我应该使用 GZIP 压缩中间件吗?
【发布时间】:2011-05-19 08:42:58
【问题描述】:

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

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

(注意:应用程序和中间件不得对其输出应用任何类型的Transfer-Encoding,例如分块或gzipping;作为“逐跳”操作,这些编码是省实际的 Web 服务器/网关。有关详细信息,请参阅下面的 Other HTTP Features。)

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

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

编辑:

Pylons Book 还包含一个example gzip middleware

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

【问题讨论】:

    标签: google-app-engine wsgi


    【解决方案1】:

    App Engine already does 压缩内容,如果客户端支持的话。

    如果客户端发送 HTTP 标头 指示客户端的请求 可以接受压缩(gzipped) 内容,App Engine 压缩 自动响应数据和 附上适当的回应 标题。它同时使用 接受编码和用户代理请求 标头来确定客户端是否可以 可靠地接收压缩响应。 自定义客户端可以强制内容 通过同时指定压缩 Accept-Encoding 和 User-Agent 标头 值为“gzip”。

    【讨论】:

    • 鉴于 GAE 压缩静态文件,使用缩小的 javascript/css/html 是否有意义,性能明智?
    猜你喜欢
    • 2018-03-21
    • 2010-11-29
    • 2015-07-14
    • 1970-01-01
    • 2017-04-02
    • 2012-02-12
    • 2010-10-25
    • 2012-06-17
    • 2012-09-17
    相关资源
    最近更新 更多