我希望为基于Spring的Web服务添加压缩(同时提供xml和json),我看到有许多不同的gzip压缩过滤器,但不确定哪个被认为是最常见的< / strong>即有Jboss或Spring提供吗?
此外,我已阅读压缩1000-860 bytes is pointless as compression time is greater than time saved and if its below 150 bytes that object actually grows以下的内容。
这些过滤器是否支持开箱即用的最小对象尺寸?
答案 0 :(得分:1)
这是一个旧线程,但过滤器中的压缩发生在呈现JSP之前。您可以通过apache启用它,但使用Servlets / Filters或Spring MVC作为过滤器执行它可能不会对您有所帮助:
http://forum.springsource.org/showthread.php?45604-Using-gzip-for-compression-how
我注意到你正在阅读你正在使用xml和json响应的问题。如果你正在寻找的话,你可能仍然可以从Spring MVC / Controller级别获得一些好处,但我可能仍然会在Apache中追求GZIP功能。
http://betterexplained.com/articles/how-to-optimize-your-site-with-gzip-compression/
答案 1 :(得分:0)
您也可以使用ehcache-web,因此http响应(带有标题)被缓存(使用gzip压缩)并返回给客户端。因此,只有当spring mvc端点返回内容时才会发生gzip进程(和序列化)。
但是ehcache-web旨在缓存页面,所以当请求动词是PUT或POST或DELETE时,你必须覆盖过滤器(SimplePageCachingFilter)来处理驱逐。
您也可以编写自己的过滤器,并使用ehcache作为缓存管理器来放置/逐出值。值将是包含的结构 *您的端点调用的结果,以json或xml(作为字符串)序列化 * http标题的地图。
不幸的是,Spring mvc(@Cacheable)中的缓存支持会缓存方法调用的结果,然后对每个http请求进行序列化。这是可以理解的,因为Spring缓存是不可知的,而且对http不敏感。