我添加了扩展名svgz以提供压缩的svg文件,但是jetty发出了错误的内容编码。我相信它应该是一个gzip编码。
有谁知道如何配置Jetty来提供静态SVGZ文件?这非常重要,因为这些文件在压缩之前通常非常大。
答案 0 :(得分:4)
扩展名为SVGZ的文件只是使用GZip压缩压缩的SVG文件。
重命名文件扩展名,如果文件为logo.svgz
,则将其重命名为logo.svg.gz
,但保持压缩。
从Web服务器发送压缩的SVG文件时,响应标头中应包含2条信息。
Content-Type: image/svg+xml Content-Encoding: gzip
通常,在${jetty.home}/etc/webdefault.xml
文件(查找<mime-mapping>
)中建立MIME类型映射,DefaultServlet
用于使用适当的Content-Type来提供此静态文件,但是,这也是压缩的,这意味着所有的Gzip逻辑都应该启动。
如果DefaultServlet看到所请求文件的.gz文件扩展名,则会设置相应的Content-Encoding
标头。
换句话说,您的http客户端(浏览器)可以请求文件logo.svg
,但DefaultServlet将从logo.svg.gz
的文件内容提供服务,Content-Encoding
设置为gzip。