Сжатие CSS и JS без mod_gzip и mod_deflate - PullRequest
4 голосов
/ 23 декабря 2009

Я бы хотел сжать файлы CSS и JS на моем сервере, чтобы минимизировать время загрузки, проблема.

Мой хостинг на Streamline.net (большая ошибка, никогда не ходите туда), который не будет активировать mod_gzip и mod_deflate из-за проблем безопасности.

Есть ли у кого-нибудь другой способ сжатия этих типов файлов (и файлов изображений, если это возможно), не переходя на пути mod_gzip и mod_deflate.

Ответы будут очень приветствоваться.

Ответы [ 5 ]

4 голосов
/ 23 декабря 2009

Да, ответ: Минификация .

Очевидно, что он не будет сжимать столько, сколько gzip или deflate . Но это помогает, и это очень легко сделать с правильными инструментами.

2 голосов
/ 23 декабря 2009

Вместо того, чтобы использовать mod_gzip для динамического сжатия файлов CSS и JavaScript, вы можете загрузить их самостоятельно, а затем загрузить их.

Это еще один шаг перед загрузкой CSS и JavaScript, но он работает и, возможно, даже экономит крошечное время обработки сервера для каждого запроса по сравнению с mod_gzip.

В Mac OS X сжать файл из командной строки так же просто, как, например ::

gzip -c styles.css > styles-gzip.css

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

2 голосов
/ 23 декабря 2009

Вы можете запускать ваши файлы с помощью скрипта, который сделает их за вас и добавит соответствующие заголовки срока действия. Либо настройте перезапись URL-адреса, либо переписайте URL-адреса вручную:

<script src="js/somescript.js"></script>

становится

<script src="compress.php?somescript.js"></script>

и в compress.php вы можете сделать что-то вроде

<?php
$file = 'js/' . basename($_SERVER['QUERY_STRING']);
if (file_exists($file)) {
    header ('Last-Modified: ' . date('r',filemtime($file));
    header ('Content-Type: text/javascript'); // otherwise PHP sends text/html, which could confuse browsers
    ob_start('ob_gzhandler');
    readfile($file);
} else {
    header('HTTP/1.1 404 Not Found');
}

Очевидно, что это можно расширить и на , обеспечивающее кэширование HTTP и / или минимизацию на лету, что еще больше ускоряет просмотр ваших посетителей.

1 голос
/ 23 декабря 2009

Так же, как sidenote: Сжатие изображений не будет полезно, если они уже сохранены в сжатом формате с максимальным сжатием, которое все еще выглядит хорошо для пользователя.

0 голосов
/ 23 декабря 2009

Большинство языков программирования поддерживают некоторые форматы сжатия данных или файлов, такие как ZLIB или GZIP. Таким образом, вы можете использовать язык программирования для сжатия ваших файлов одним из этих форматов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...