簡體   English   中英

為什么jetty的GzipHandler默認只包含GET請求?

[英]Why does jetty's GzipHandler default to only including GET requests?

我正在通過 Jetty 為服務器配置 gzip 壓縮,並且有一些 PUT/POST 端點我想壓縮其響應有效負載。 Jetty 的默認 GzipHandler 配置具體只包括 GET; 這是默認的記錄,但我無法找到關於為什么這是默認的文檔。 當方法是非 GET 時應用 gzip 有缺點嗎?

原因歸結為 PUT 和 POST 的響應在一般意義上不適合放入緩存中。

首次引入 gzip 壓縮時,GET 被選為默認設置,(在 Jetty 遷移到 Eclipse 之前,在 Servlet 2.0 之前,在 Jetty 中稱為 GzipFilter 之前)以及在那個時代如果內容無法緩存它沒有被壓縮。

為什么?

好吧,當時使用系統資源一遍又一遍地壓縮相同的內容被認為是負面的,與少數優化請求相比,服務多個請求更為重要。

GzipHandler 可以配置為使用任何方法,甚至是 HEAD 之類的無意義的方法。

不要讓具有歷史原因的默認值阻止您使用 GzipHandler,使用它,配置它,然后開心。

隨意提出問題,要求在https://github.com/eclipse/jetty.project/issues更改默認值

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM