注:Rubyを使用してデータをGZIPする方法について、技術的に回答された別の同様の質問zlib
がありましたが、回答されてから質問を進化させることができなかったので、この質問は関連していますが、同じではありません...
次のコード (私は信じています) は、静的 CSS ファイルを GZIP し、結果をresult
変数に格納しています。しかし、ある意味でこれをどうすればよいでしょうか: 元のファイル サイズではなく GZIP されていると認識されるように、このデータをブラウザーに送り返すにはどうすればよいでしょうか (たとえば、YSlow スコアをチェックするときに、正しくマークされていることを確認したい)静的リソースを GZIP していることを確認してください)。
z = Zlib::Deflate.new(6, 31)
z.deflate(File.read('public/Assets/Styles/build.css'))
z.flush
@result = z.finish # could also of done: result = z.deflate(file, Zlib::FINISH)
z.close
Zlib::Deflate.deflate
...注意すべきことの 1 つは、私の前の質問で、回答者が gzip でエンコードされたデータを生成しないことを明らかにしたことです。これは zlib でエンコードされたデータのみを生成するため、gzip ストリームを開始するには 31 に等しい引数を使用Zlib::Deflate.new
する必要があります。windowBits
result
しかし、このコードを実行すると、実際には変数とその内容をどうするかわかりません。GZIP でエンコードされた静的リソース (JavaScript、CSS、HTML など) をブラウザーに送信する方法に関する情報 (私が見つけることができる) がインターネット上にないため、ページの読み込みが速くなります。私が読んだ Ruby の記事はすべて、Ruby on Rails を使用している誰かに基づいているようです!?
どんな助けでも本当に感謝しています。