Хостинг. Cache-Control: max-age=...

av02
4 місяці
2

Добрый день!
Хочу оптимизировать сайт с т. зрения повышения скорости и применения статики...
Оптимизатор (утилита) говорит что необходимо дать возможность кэшировать всякие мелочи, цсс и т.п.

в мануале описано, что лучше прописать к примеру:
Cache-Control: max-age=31536000

Вопрос - как заставить сервер отдавать такой хидер?
Использовать .htaccess?

toxi
4 місяці
2

Добрый день.
Вы можете использовать, как в .htaccess, так и в php/html

Для .htaccess:

<FilesMatch ".(flv|gif|jpg|jpeg|png|ico|swf|js|css|pdf)$">

  Header set Cache-Control "max-age=2592000"

</FilesMatch>

либо так
<IfModule mod_expires.c>

    ExpiresActive On

    ExpiresDefault "access plus 1 month"



    ExpiresByType image/gif "access plus 2 months"

    ExpiresByType image/jpeg "access plus 2 months"

</IfModule>


Для PHP, можно прописать в заголовках так (Включим кэш на 1 час):
header("Cache-control: public");

header("Expires: " . gmdate("D, d M Y H:i:s", time() + 60*60) . " GMT");


В приложении заголовки Cache-Control обычно не используются, т.к. приложения генерируют динамический контент. Если же у Вас редко изменяется сайта, Вы можете добавить кэширование, чтобы снизить количество запросов на сервер. Например, в PHP:

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

И еще вариант, прописать, что нужно кешировать, в панели управления хостингом:
Статические файлы: - Указываете, что кешировать
Кеширование: - Указываете, на какой срок кешировать файлы

zinenko_s
4 місяці
1

Вы можете настроить кеширование статических файлов следуя этой инструкции Браузерное кеширование статики | Вопросы-ответы на Wiki - Хостинг Украина . После указания времени кеширования запросы к статическим файлам будут получать заголовок кеширования с выбранным, в панели управления, временем.

Обратите внимание, вариант с .htaccess не сработает для файлов из списка статических (детальнее Статические файлы | Вопросы-ответы на Wiki - Хостинг Украина ) так как обработка запросов к ним производится на стороне web-сервера nginx.