为什么jetty的GzipHandler默认只包含GET请求?

时间:2019-10-29 00:10:15

标签: post get jetty gzip

我正在通过Jetty为服务器配置gzip压缩,并且有些PUT / POST端点希望对其响应有效载荷进行压缩。 Jetty的默认GzipHandler配置专门只包含GET;记录了默认值,但是我找不到关于为什么这是默认值的文档。如果方法不是GET方式,则应用gzip有不利之处吗?

1 个答案:

答案 0 :(得分:0)

从一般意义上讲,原因在于来自PUT和POST的响应不适合放入缓存。

在首次引入gzip压缩时(在Jetty移至Eclipse之前,在Servlet 2.0之前,在Jetty中被称为GzipFilter之前),GET被选为默认设置。在那个时代,如果内容不能不会被压缩。

为什么?

好吧,那时候一遍又一遍地使用系统资源来压缩相同的内容被认为是负面的,服务多个请求比几个优化请求更为重要。

可以将GzipHandler配置为使用任何方法,甚至是像HEAD这样无意义的方法。

出于历史原因,不要让默认值阻止您使用,使用,配置GzipHandler并感到满意。

可以随时提出问题,要求在https://github.com/eclipse/jetty.project/issues更改默认设置