Как использовать gzip - PullRequest
0 голосов
/ 02 июля 2010

Может ли кто-нибудь, кто использует GZip для HTML, JS, PHP и CSS, объяснить, как реализовать это на сервере?

Что я хочу знать:

  1. Что делатьЯ должен написать в .htaccess?
  2. Что и из какого источника я должен загрузить?
  3. Самое главное: это имеет значение и окупается ли?

Ответы [ 3 ]

2 голосов
/ 02 июля 2010

Вам необходимо включить mod_deflate или mod_gzip в вашем httpd.conf.После этого вы должны поместить следующие строки в вашу конфигурацию или файл .htaccess.

Apache 1.3.x:

mod_gzip_on Yes  

mod_gzip_item_include mime ^application/x-javascript$  
mod_gzip_item_include mime ^application/json$  
mod_gzip_item_include mime ^text/.*$  

mod_gzip_item_include file \.html$  
mod_gzip_item_include file \.php$  
mod_gzip_item_include file \.js$  
mod_gzip_item_include file \.css$  
mod_gzip_item_include file \.txt$  
mod_gzip_item_include file \.xml$  
mod_gzip_item_include file \.json$  

Header append Vary Accept-Encoding

Apache 2.0

AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/json   
Header append Vary Accept-Encoding
1 голос
/ 02 июля 2010

Это окупается: HTML-страницы, будучи простым текстом, часто могут быть заархивированы до 90 процентов.

Gzipping обычно необходимо активировать в конфигурации вашего центрального сервера, но не .htaccess.

Если вы находитесь на сервере общего хостинга, скорее всего, он уже установлен и включен.

Используйте что-то вроде вкладки "Net" в Firebug, чтобы узнать. Сделайте запрос к странице на вашем сервере и нажмите, чтобы открыть представление файла. Если заголовки ответа содержат Content-Encoding: gzip, gzipping уже активирован.

0 голосов
/ 02 июля 2010

Это окупается?Существуют сценарии, в которых оно будет еще медленнее при включенном сжатии ..

Когда вы включаете сжатие, Apache должен подождать до завершения всего PHP, прежде чем отправлять любой контент вклиент.С выключенным сжатием Apache может начать отправку с первым оператором echo.

Благодаря этому клиент может быстро получить заголовок, где он получает информацию о том, какие таблицы стилей и JS загрузить, и может запроситьих, в то время как остальная часть сценария PHP все еще генерирует HTML.

Поэтому, когда вашему PHP требуется время для запуска, вам, скорее всего, не следует активировать сжатие.эффекты сжатия.

...