【问题标题】:Enabling GZIP is GWT application启用 GZIP 是 GWT 应用程序
【发布时间】:2014-02-20 08:28:19
【问题描述】:

我正在研究有效负载优化。

我在这里看到compress your responses in to GZIP

所以我Configuring the CompressionFilter

并配置以下过滤器来压缩我对 gzip 的响应,

<filter>  
    <filter-name>compressionFilter</filter-name>  
    <filter-class>com.googlecode.webutilities.filters.CompressionFilter</filter-class>  
    <init-param>   
       <param-name>compressionThreshold</param-name>  
       <param-value>1024</param-value>  
    </init-param>  
    <init-param>   
       <param-name>ignoreMimes</param-name>  
       <param-value>images/*,video/*, multipart/x-gzip</param-value>
    </init-param>  

 </filter>  
 <filter-mapping>  
    <filter-name>compressionFilter</filter-name>  
    <url-pattern>/*</url-pattern>  
 </filter-mapping>  

它不适用于 js、html、css 等文件,但对于 Ajax 响应我无法使其工作。

我正在使用 GWT RPC 调用,默认情况下是一个 gzip 响应,我的假设是它再次尝试 gzip,这已经是一个 gzip 响应并给了我异常。

StackOverFlow 甚至不允许粘贴 StackTrace。所以添加一张图片。

这方面有什么帮助吗?我有什么遗漏吗?

【问题讨论】:

    标签: java jakarta-ee gwt gzip


    【解决方案1】:

    这不是您问题的解决方案,但它可以帮助解决基本问题(为您的应用程序实现 gzip 压缩)有点不同...

    如果可能,我会一直使用 Apache(或 nginx)作为前端服务器。关于 gzip 压缩 Apache 应该更快(gzip 的纯 C 实现)。请注意,除了 gzipping 之外,此设置还提供了更多好东西:

    • 设置正确的缓存标头(例如,用于 *.cache.html 文件)
    • 如果 Servlet 容器关闭,则提供错误页面
    • 通过前端服务器缓存/交付静态资源来减少 Servlet 容器处理的请求数
    • 您甚至可以使用静态资源的预压缩版本,而不是一遍又一遍地压缩相同的内容(https://code.google.com/p/zopfli/ 有助于减少预压缩资源的大小)

    当然还有更多优势,但我不是运维人员。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-01-09
      • 2011-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-21
      相关资源
      最近更新 更多