【发布时间】:2013-06-22 23:49:04
【问题描述】:
我的 Grails 1.3.7 控制器正在生成一些 JSON,我想以压缩(压缩)的形式将其发送到客户端,因为未压缩的 JSON 量可以是 2+MB。我发现的资源插件似乎只压缩静态资源。有没有办法压缩动态控制器的输出?
【问题讨论】:
-
可以Ui-Performance插件帮忙吗?我不确定用法,但该插件的功能之一是 gzip 动态文本内容,如 JSON。
我的 Grails 1.3.7 控制器正在生成一些 JSON,我想以压缩(压缩)的形式将其发送到客户端,因为未压缩的 JSON 量可以是 2+MB。我发现的资源插件似乎只压缩静态资源。有没有办法压缩动态控制器的输出?
【问题讨论】:
如果使用Ui-Performance plugin,我猜你需要在Config.groovy 中进行以下配置:
uiperformance.html.includeContentTypes = ['text/json','application/json']
还可以查看CompressingFilter API,它用于压缩 HttpServletResponse。 如果好奇,您还可以查看source,了解如何操纵 Web 描述符以使用压缩器。
【讨论】:
如果您从 apache 或 nginx 之类的网络服务器后面为您的 grails 应用程序提供服务,您可以相当轻松地在前端配置压缩。
请参阅mod_deflate 用于 apache 和 HttpGzipModule 用于 nginx。
如果您希望在 jar 中进行压缩工作,您可以创建一个 ServletFilter 并自己进行压缩 as mentioned in this SO question 或使用类似 UI-Performance 插件 as mentioned by dmahapatro 的东西。
【讨论】: