Varnish は圧縮された obj をキャッシュに保持しますが、クライアントが gzip をサポートしていない場合。
Varnish はどのように対処しますか? 他の圧縮されていない obj もキャッシュに保持しますか、それとも圧縮された obj を解凍しますか?
Varnish は圧縮された obj をキャッシュに保持しますが、クライアントが gzip をサポートしていない場合。
Varnish はどのように対処しますか? 他の圧縮されていない obj もキャッシュに保持しますか、それとも圧縮された obj を解凍しますか?
公式チュートリアルの「圧縮」の章で説明されているように、Varnish 3.0 は Gzip をサポートしています。バックエンドへのすべての HTTP リクエストには、gzip 圧縮されたコンテンツの要求が含まれるため、デフォルトでは、すべてのオブジェクトが gzip 圧縮されてメモリに保存されます。
バックエンドが gzip をサポートしていない場合は、Varnish に を設定beresp.do_gzip
して、保存する前に応答を圧縮するように依頼できますvcl_fetch
。
gzip をサポートしていないクライアントからリクエストが届いた場合、Varnish は格納されたオブジェクトを配信する前に gunzip します。
Varnish 2.x は圧縮または解凍しません。クライアントが Gzip をサポートしている場合、ページの gzip バージョンをキャッシュに保持します。クライアントがそれをサポートしていない場合は、別のコピーが圧縮なしでプレーン コンテンツのキャッシュに配置されます。
はい: Accept-Encoding ヘッダー (正規化する必要があります) に応じて、サポートされている圧縮アルゴリズムごとに複数のバージョンのページがキャッシュに保持されます。
*更新: わかりやすくするために編集されました。上記は Varnish 2.0 または 2.1 のみを対象としています。上で説明したように、Varnish 3.x は gzip をサポートしています。