【问题标题】:How to compress output from a grails controller?如何压缩来自 grails 控制器的输出?
【发布时间】:2013-06-22 23:49:04
【问题描述】:

我的 Grails 1.3.7 控制器正在生成一些 JSON,我想以压缩(压缩)的形式将其发送到客户端,因为未压缩的 JSON 量可以是 2+MB。我发现的资源插件似乎只压缩静态资源。有没有办法压缩动态控制器的输出?

【问题讨论】:

  • 可以Ui-Performance插件帮忙吗?我不确定用法,但该插件的功能之一是 gzip 动态文本内容,如 JSON。

标签: grails http-compression


【解决方案1】:

如果使用Ui-Performance plugin,我猜你需要在Config.groovy 中进行以下配置:

uiperformance.html.includeContentTypes = ['text/json','application/json']

还可以查看CompressingFilter API,它用于压缩 HttpServletResponse。 如果好奇,您还可以查看source,了解如何操纵 Web 描述符以使用压缩器。

【讨论】:

    【解决方案2】:

    如果您从 apache 或 nginx 之类的网络服务器后面为您的 grails 应用程序提供服务,您可以相当轻松地在前端配置压缩。

    请参阅mod_deflate 用于 apache 和 HttpGzipModule 用于 nginx。

    如果您希望在 jar 中进行压缩工作,您可以创建一个 ServletFilter 并自己进行压缩 as mentioned in this SO question 或使用类似 UI-Performance 插件 as mentioned by dmahapatro 的东西。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-16
      • 2014-09-06
      • 2011-10-11
      • 1970-01-01
      相关资源
      最近更新 更多