Сжатие сервера Apache и использование проблем с кэшированием при просмотре - PullRequest
0 голосов
/ 27 декабря 2011

Администратор моего веб-сервера apache утверждает, что сервер поддерживает сжатие gzip с раздувом и по причине, показывает мне переменную среды HTTP_ACCEPT_ENCODING gzip,deflate.

Я знаю, что есть два метода сжатия. первый метод, на уровне PHP, с использованием ob_start('ob_gzhandler'), второй метод на уровне сервера, с использованием .htaccess с некоторыми командами, такими как эта

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css

<FilesMatch "\\.(js|css|html|htm|php|xml)$">

SetOutputFilter DEFLATE

</FilesMatch>

Я проверяю оба метода сжатия с помощью некоторых инструментов, таких как скорость страницы

Первый метод у меня работает правильно, но второй метод не работает. Я хотел бы использовать метод сжатия на стороне сервера, и я обнаружил, что многие люди в сети имеют такую ​​же проблему, как я. Администратор сервера просто заявляет everything is ok from his point of view and gzip/deflate is active

У меня есть другая проблема с leverage browse caching, которую гугл рекомендует веб-мастерам использовать его.

Так же, как и для сжатия, существуют стандартные коды для файла .htaccess, как этот

<IfModule mod_expires.c>

ExpiresActive On

ExpiresByType image/jpg "access 1 year"

ExpiresByType image/jpeg "access 1 year"

ExpiresByType image/gif "access 1 year"

ExpiresByType image/png "access 1 year"

ExpiresByType text/css "access 1 month"

ExpiresByType application/pdf "access 1 month"

ExpiresByType text/x-javascript "access 1 month"

ExpiresByType application/x-shockwave-flash "access 1 month"

ExpiresByType image/x-icon "access 1 year"

ExpiresDefault "access 2 days"

</IfModule>

к сожалению, это не работает как сжатие. наша версия сервера apache 2.2.20.

Не знаю, как доказать администратору сервера, что с установкой сервера что-то не так.

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

1 Ответ

0 голосов
/ 28 декабря 2011

Одно из возможных объяснений: сервер Apache может быть настроен на , чтобы не разрешать переопределения (т.е. изменения в локальном файле .htaccess). См. страницу документации Apache AllowOverride , чтобы узнать, может ли это быть проблемой здесь.

В моем случае на моем общем веб-хосте не установлены mod_gzip или mod_deflate, поэтому я использую тот же метод PHP, который вы упомянули, и он работает довольно хорошо.

Я рекомендую использовать Curl в качестве быстрого метода для проверки сжатия и настроек с истекшим сроком годности. (Это также простой способ поделиться результатами с администратором вашего сервера.)

Например, чтобы проверить сжатие , включите параметр «--compress» и найдите заголовок ответа «Content-Encoding: gzip»:

$ curl --head --compress http://cdn.sstatic.net/stackoverflow/all.css
HTTP/1.1 200 OK
Server: nginx/0.8.36
Date: Wed, 28 Dec 2011 03:15:22 GMT
Content-Type: text/css
Connection: keep-alive
Cache-Control: max-age=604800
Last-Modified: Wed, 28 Dec 2011 00:54:40 GMT
ETag: "0c85c47fbc4cc1:0"
X-Cache: HIT
Content-Encoding: gzip

Вы также можете проверить работоспособность Истекает Заголовок:

$ curl --head http://l.yimg.com/a/i/us/sp/v/ncaaf/teams/1/80x60/sss3.gif
HTTP/1.1 200 OK
Date: Thu, 22 Dec 2011 01:34:59 GMT
Cache-Control: max-age=315360000
Expires: Sun, 19 Dec 2021 01:34:59 GMT
Last-Modified: Fri, 11 Dec 2009 16:54:28 GMT
Accept-Ranges: bytes
Content-Length: 3059
Content-Type: image/gif
Age: 524606
Connection: keep-alive
Server: YTS/1.20.9
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...