Включить сжатие Gzip для javascript, размещенного на другом сервере
У нас есть веб-сайт "abc.com", который использует большое количество javascript и css, размещенных на другом сервере "xyz.com". Мы загружаем js и css на этот сервер, и он дает нам URL, который мы используем / ссылаемся в нашем коде.
Теперь я запустил YSLOW на своем веб-сайте, и он жалуется, что эти файлы javascript и css могут быть сжаты. Когда я проверяю заголовки ответа, используя firebug, Content Encoding of response устанавливается в "GZip".
Мой вопрос был бы "как включить сжатие для этих файлов javascript и css, размещенных на другом сервере". Есть ли что-то, что мы можем сделать на нашей стороне?
Любые предложения приветствуются.
3 ответа
Вам нужно будет использовать такие инструменты, как YUI компрессор, чтобы сжать файлы js и css перед загрузкой на сервер.
РЕДАКТИРОВАТЬ:
Пожалуйста, проверьте эту ссылку о том, как включить gzipping ваши js и css файлы. Но я сомневаюсь, что это возможно для вас, поскольку файлы размещены на третьем сервере (если вы не управляете им).
Сжатие JavaScript и CSS выходит за рамки типичных универсальных алгоритмов сжатия, таких как gzip.
Существуют доменные решения для сжатия JavaScript и CSS.
Увидеть:
Чтобы уточнить терминологию, используемую YSlow (и аналогичными инструментами, такими как Google PageSpeed):
Сжатие сокращает время ответа, уменьшая размер ответа HTTP. Gzip является наиболее популярным и эффективным методом сжатия, доступным в настоящее время, и обычно уменьшает размер ответа примерно на 70%. Приблизительно 90% современного интернет-трафика проходит через браузеры, которые утверждают, что поддерживают gzip.
Минификация удаляет ненужные символы из файла, чтобы уменьшить его размер, тем самым сокращая время загрузки. Когда файл сокращен, комментарии и ненужные пробельные символы (пробел, новая строка и вкладка) удаляются. Это улучшает время отклика, поскольку размер загружаемых файлов уменьшается.
Несколько хороших ссылок, которые охватывают как сжатие, так и минификацию:
- Yahoo: http://developer.yahoo.com/performance/rules.html
- Google: http://code.google.com/speed/page-speed/docs/payload.html
- Стоян Стефанов: http://www.phpied.com/reducing-tpayload/ (примеры для Apache+PHP, но могут применяться к любому веб-серверу)
Как robert упоминал в своем ответе, включение сжатия на другом сервере было бы изменением конфигурации на этой стороне. Если вы хотите минимизировать компоненты JS/CSS, вы можете сделать это с помощью инструмента минимизации до размещения на другом сервере.