lighttpd mod_compress 不压缩应用程序/json 类型

use*_*993 5 json lighttpd flask

有没有其他人遇到过以下情况?我正在尝试使用运行 FastCGI/flup 服务器和 Flask 框架的 lighttpd 来提供基于 JSON 的 RESTful API。

我正在使用 Flask 的 RESTful 扩展包,它将 Python 数据编组到一个 JSON 对象中,以作为字符串返回。这工作正常......“Content-Type:application/json”放在响应头中,JSON字符串在响应中。

我想做的是压缩返回的 JSON,如果客户端表明它会接受它。我在 lighttpd.conf 中启用了 mod_compress,以下指令指示要压缩的 MIME 类型:

compress.filetype = ( "application/json", "text/json", "text/javascript",
"application/x-javascript", "text/css", "text/html", "text/plain" )
Run Code Online (Sandbox Code Playgroud)

客户端(基于浏览器)总是发送“Accept-Type: gzip, ...”标头。当 lighttpd 返回 "text/*" MIME 类型时,它正在设置 "Content-Encoding: gzip" 标头并压缩数据,并且客户端会很好地处理它。

但是,这不适用于“application/json”MIME 类型,我正在挠头。即使 API 通过 Flask 路径,lighttpd 不是也负责设置“Content-Encoding: gzip”标头并压缩“application/json”MIME 类型的数据吗?