1) mod_gzip / mod_deflate! Это такое простое исправление, я удивлен, что по умолчанию оно не включено.
2) Поиграйте с URL-адресами, чтобы браузеры всегда могли кэшировать ваши файлы JS и CSS. Другими словами, создайте URL-адреса так:
http://www.yourdomain.com/js/mad_scriptz-v123.js
Затем используйте mod_rewrite и удалите "-v123":
<IfModule mod_rewrite.c>
# http://www.thinkvitamin.com/features/webapps/serving-javascript-fast
RewriteEngine on
RewriteRule ^/(.*)\-v[0-9.]+\.(css|js|gif|png|jpg|xap)$ /$1.$2 [L]
</IfModule>
Теперь apache будет искать «/js/mad_scriptz.js» ... Каждый раз, когда вы меняете статический контент, просто увеличивайте номер версии, чтобы браузеры перезагружали контент. У меня обычно есть переменная шаблона, которая содержит глобальный номер версии, к которой все привязано. Не самый эффективный, но работает для моих целей. Если вы можете привязать номер версии к вашей системе сборки или к хешу файла, это было бы очень мило.
Получить mod_expires вверх, так что все ваши статические вещи истекает через годы:
<IfModule mod_expires.c>
ExpiresActive On
# all in seconds...
ExpiresByType image/x-icon A2592000
ExpiresByType image/gif A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/png A2592000
ExpiresByType application/javascript A2592000
ExpiresByType application/x-javascript A2592000
ExpiresByType application/x-shockwave-flash A2592000
ExpiresByType application/pdf A2592000
ExpiresByType text/css A2592000
ExpiresByType application/rdf+xml A1800
</IfModule>
Обновление: было отмечено, что не все браузеры или поисковые системы, как gzip'd контент. Не включайте его вслепую, как я предлагаю выше. Удостоверьтесь, что вы не кормите антикварные браузеры gzip, даже если они это принимают (некоторые из них будут раздражены сжатым javascript). Документация для mod_gzip и mod_deflate содержит примеры, которые должны работать нормально (я полагаю, что они есть, или люди отправят им электронное письмо с изменениями :-).
Я должен также упомянуть, что, по моему опыту, если у вас есть обратный прокси-сервер между вашими серверами Apache mod_gzip и остальным миром, вам нужно остерегаться. Squid 2.6 часто вводит Apache в заблуждение, когда это необходимо, и что еще хуже, он кеширует несжатые версии и передает их в браузеры, которые могут обрабатывать содержимое gzip. Не знаю, если 3.0 исправит это, и я не знаю, если что-то не так в моей конфигурации (сомневаюсь). Просто остерегайтесь: -)
Это сказал. Включи это. Серьезно: -)