2

圧縮された svg ファイルを提供するために拡張子 svgz を追加しましたが、jetty は間違ったコンテンツ エンコーディングを発行します。gzipエンコーディングであるべきだと思います。

静的な SVGZ ファイルを提供するように Jetty を構成する方法を知っている人はいますか? これらのファイルは通常、圧縮前のサイズが非常に大きいため、これは非常に重要です。

4

1 に答える 1

4

拡張子が SVGZ のファイルは、GZip 圧縮で圧縮された単なる SVG ファイルです。ファイルの拡張子をlogo.svgz変更します。ファイルの名前を変更しますがlogo.svg.gz、圧縮したままにします。

圧縮された SVG ファイルが Web サーバーから送信される場合、応答ヘッダーに含める必要がある 2 つの情報があります。

コンテンツタイプ: image/svg+xml
コンテンツ エンコーディング: gzip

通常、MIME タイプ マッピングは、適切な Content-Type でこの静的ファイルを提供するために使用する${jetty.home}/etc/webdefault.xmlファイル ( を探します<mime-mapping>)で確立されますDefaultServletが、これも圧縮されるため、すべての Gzip ロジックが作動する必要があります。

Content-Encoding要求されたファイルに .gz ファイル拡張子が存在する場合 、DefaultServlet は適切なヘッダーを設定します。

つまり、http クライアント (ブラウザー) はファイルを要求できますが、DefaultServlet はgzipに設定さlogo.svgれたファイルの内容からサービスを提供します。logo.svg.gzContent-Encoding

于 2013-01-03T16:11:42.600 に答える