Поддержка Gzip — Нужна ли не архивированная копия файлов?

#javascript #css #.htaccess #gzip

#javascript #css #.htaccess #gzip

Вопрос:

Поэтому я решил вручную заархивировать все свои файлы на serrver. Теперь мне интересно, безопасно ли иметь только архивированные файлы? Или мне по какой-то причине понадобится «не архивированная копия» файлов?

Я думаю о: поддержке браузера, роботах, Google Analytics, обо всем другом, что вы можете придумать…

Будет ли безопасно использовать только:

  • index.html.gz

  • style.css.gz

  • javascript.js.gz

Например:

 <a herf="www.domain.com/folder/">link to folder with index.html.gz in it</a>

<script type="text/javascript" src="http://sub.domain.com/javascript.js.gz"></script>

<link rel="stylesheet" type="text/css" media="all" href="http://sub.domain.com/style.css.gz" />
  

Если я помещу это в свой файл .htaccess:

 AddEncoding gzip .gz
DirectoryIndex index.html.gz
  

Комментарии:

1. Почему бы просто не использовать mod_deflate и не позволить ему обрабатывать сжатие ?

2. Я считаю, что статические файлы работают немного быстрее. Также я экономлю некоторую «емкость сервера» 🙂

Ответ №1:

Вполне возможно, что появится какой-нибудь клиент, который не поддерживает содержимое в кодировке gzip.

Я не думаю, что какой-либо текущий веб-браузер для настольных компьютеров имеет этот недостаток, но это может быть у других программных продуктов: ботов поисковой системы (вероятно, не основных), браузеров мобильных телефонов, программ для чтения с экрана, …

Не предоставляя не-gzip-версии всех ваших файлов, вы ограничиваете целевую аудиторию вашего сайта.

Комментарии:

1. Я понимаю, о чем вы говорите. Существует риск. Было бы здорово, если бы я мог найти реальный случай, когда это было бы проблемой.

Ответ №2:

Следующий код работает в:

  • FF (протестировано на ПК)
  • IE (протестирован на ПК)
  • C (протестирован на ПК)
  • SF (протестировано на ПК)
  • IPhone
  • HTC

Файл Htaccess:

 AddEncoding gzip .gz
DirectoryIndex index.gz.html
  

Обратите внимание, что я изменил порядок (gz.html вместо .html.gz )

HTML для файлов css и javascript:

 <link rel="stylesheet" type="text/css" media="all" href="http://qwer.se/compresscss/style.gz.css" />
<script type="text/javascript" src="http://qwer.se/compresscss/java.gz.js"></script>
  

Обратите внимание, что я изменил порядок gz в css и java.

Причина .gz.html , .gz.css, .gz.js это Safari. Я не могу найти никакой информации об этом, но это работает. Я не эксперт, поэтому не верьте мне на слово, что это правильно.

Что вы все думаете об этом решении?