You are viewing the documentation for the 2.6.x development release. The latest stable release series is 2.4.x.
§gzip エンコーディングの設定
Play は gzip レスポンスに使われる gzip フィルタを備えています。
§gzip フィルタの有効化
gzip フィルタを有効にするには、build.sbt
内の libraryDependencies
に Play filters プロジェクトを追加してください:
libraryDependencies += filters
ここで、この filters に gzip フィルタを追加しますが、通常これはプロジェクトルートに Filters
クラスを作成することで実現します:
- Scala
-
import javax.inject.Inject import play.api.http.HttpFilters import play.filters.gzip.GzipFilter class Filters @Inject() (gzipFilter: GzipFilter) extends HttpFilters { def filters = Seq(gzipFilter) }
- Java
-
import play.api.mvc.EssentialFilter; import play.filters.gzip.GzipFilter; import play.http.HttpFilters; import javax.inject.Inject; public class Filters implements HttpFilters { @Inject GzipFilter gzipFilter; public EssentialFilter[] filters() { return new EssentialFilter[] { gzipFilter }; } }
Filters
クラスはルートパッケージに置くか、もし違う名前にする、あるいは違うパッケージに置く場合は、application.conf
内で play.http.filters
を使って設定する必要があります:
play.http.filters = "filters.MyFilters"
§gzip フィルタの設定
gzip フィルタは、わずかながら application.conf
で設定できるチューニング設定オプションをサポートしています。利用できる設定オプションは、Play フィルタの reference.conf
を参照してください。
§gzip されるレスポンスの管理
レスポンスが gzip されるか否かを操作するには、リクエストヘッダとレスポンスヘッダから真偽値を返す関数を受け取る shouldGzip
パラメータを使います。
例えば、以下のコードは HTML レスポンスのみ gzip します:
new GzipFilter(shouldGzip = (request, response) =>
response.headers.get("Content-Type").exists(_.startsWith("text/html")))
Next: セキュリティヘッダの設定
このドキュメントの翻訳は Play チームによってメンテナンスされているものではありません。 間違いを見つけた場合、このページのソースコードを ここ で確認することができます。 ドキュメントガイドライン を読んで、お気軽にプルリクエストを送ってください。