Примечание. У меня был еще один похожий вопрос о том, как GZIP-данные с использованием Ruby zlib
, на который техническибыл дан ответ, и я не чувствовал, что могу начать развивать этот вопрос, поскольку на него был дан ответ, поэтому, хотя этот вопрос связан, это не одно и то же...
Следующий код (я полагаю) GZIP'ирует статический файл CSS и сохраняет результаты в переменной 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
не будет создавать данные в кодировке gzip. Он будет создавать только данные, закодированные в zlib, поэтому мне нужно будет использовать Zlib::Deflate.new
с аргументом windowBits
, равным 31, чтобы запустить поток gzip.
Но когда я запускаю этот код, я на самом деле не знаю, что делать с переменной result
и ее содержимым. В Интернете нет информации (которую я могу найти) о том, как отправлять статические ресурсы в кодировке GZIP (например, JavaScript, CSS, HTML и т. д.) в браузер, что ускоряет загрузку страницы.Кажется, каждая статья о Ruby, которую я читаю, основана на том, что кто-то использует Ruby on Rails!!?
Мы очень признательны за любую помощь.