Объединение выкачивает и уменьшает - я создаю наверху?

Я уменьшаю свою CSS, и js файлы на лету с google.codes уменьшают. Я также установил свой .htaccess для использования, выкачивают на всей моей CSS и js файлах - причина, являющаяся некоторыми js файлами (как застекленная витрина и tinymce) ссылка на другие js файлы в коде. Таким образом, я сжимаюсь с апачем, выкачивают и также уменьшают, сжимает некоторый js, и файлы CSS с gzip - я создающий наверху путем выполнения этого - первые gzipping (уменьшают), и затем zlib (выкачивают), пробежит снова. Или будет апач выкачивать уже проигнорировать gzipped, файлы, устанавливающие атрибуты, уменьшают в заголовках. У кого-либо есть какой-либо опыт с этим?

6
задан Mark Nolan 8 January 2010 в 01:40
поделиться

3 ответа

Минимизация + сдувание/стопорение отлично работает вместе.

Для этого я использую mod rewrite, я предварительно собрал все css/js файлы в 2 версии, оригинальную и .css.gz/.js.gz версию.

Браузер просто отправляет .js/.css запрос, сервер проверяет существование .js.gz/.css.gz и возвращает содержимое gzipped при соблюдении определенных условий.

Так что не имеет значения, если js/.css файл загружается "на лету" из js (например, из вашего теневого ящика или tinymce)

В основном, как это

RewriteEngine On
RewriteBase /

#Check for browser's Accept-Encoding,
RewriteCond "%{HTTP:Accept-Encoding}" "gzip.*deflate|deflate.*gzip"

#check file name is endswith css or js
RewriteCond %{REQUEST_FILENAME} "\.(css|js)$"

#check existance of .gz file name
RewriteCond %{REQUEST_FILENAME}.gz -s

#rewrite it to .js.gz or .css.gz
RewriteRule ^.*$ %{REQUEST_URI}.gz [L]

#update some response header
<FilesMatch "\.js\.gz$">
    AddEncoding gzip .gz
    ForceType "text/javascript"
</FilesMatch>

<FilesMatch "\.css\.gz$">
    AddEncoding gzip .gz
    ForceType "text/css"
</FilesMatch>
5
ответ дан 17 December 2019 в 00:10
поделиться

gzip использует алгоритм сжатия zlib, и большинство байтовых последовательностей не сжимаются должным образом во второй раз.

1
ответ дан 17 December 2019 в 00:10
поделиться

Minify не обслуживает файлы через Apache, поэтому нет двойного кодирования.

С фильтром DEFLATE Apache каждый раз зажимает запрашиваемый файл на лету. Minify зажимает файл при первом запросе, а затем отправляет предварительно зажатую кэшированную версию для последующих запросов.

Будучи основанным на PHP, он обменивает производительность на гибкость и простоту обслуживания, но если перед ним поставить прокси-кэш, он будет работать так же хорошо, как конфигурация S.Mark.

1
ответ дан 17 December 2019 в 00:10
поделиться