PHPにおけるレスポンスの圧縮効果について検証しています。
約10,000バイトのJSON文字列(キー以外は英数のランダム生成)を効果的に圧縮する方法を
検討しているのですが、PHP標準の方法を使ったところどれも効果が見られませんでした。
※正確には圧縮は効いているのですが、Base64エンコードすると効果がなくなります。
php
1$base_text = (strlen()が10,000を超えるまでランダム生成) 2$obj = [ 3 "abc" => $base_text, 4]; 5 6$json = json_encode($obj, JSON_UNESCAPED_UNICODE); // strlen($json) = 約10,000 7$comped = gzencode($json, 9); // strlen($comped) = 約7,500 8$b64 = base64_encode($comped); // strlen($b64) = 約10,000 strlen($json)を超えるケースもあり。 9 10return $b64; // レスポンス
gzdeflate()
gzcompress()
を利用したケースもほぼ同値でした。
同文字列の出にくいJSON文字列は圧縮レスポンスに向かないのでしょうか。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。