Оптимизация картинок в CNCat
Есть такой замечательный скрипт каталога CNCat. Очень радует то, что он недавно стал абсолютно бесплатным (в полку OpenSource прибыло). И есть в нем одно спорное решение: хранить все картинки в базе данных. Оно, конечно, хорошо: никаких изменений файловой системы, она вообще может быть readonly, вся информация в базе, обновлять такую систему для программиста одно удовольствие. Но, как водится, есть одно "но". Есть у меня один сайт, на нем пока 570 разделов, почти все со значком папки. При редактировании разделов при каждом чихе перегружается страница и заново загружаются все 570 значков на странице, в базе-то они храняться как разные значки (в разных полях). Для каждого вызывается cncat_image.php, который запрашивает из базы новую картинку и отдает ее браузеру.
Если коротко, то в CNCat картинки лучше кешировать. Для этого в cncat_image.php нужно добавить где-нибудь в начале файла строку:
header('Expires: '.gmdate('D, d M Y H:i:s \G\M\T', time() + 86400));
Эта строка заставляет браузер закешировать картинку у себя на 1 день и не дергать сервер по пустякам. Снижает нагрузку на сервер, да и со стороны клиента работа сайта значительно ускоряется в местах, где выводятся картинки, а у меня это практически везде.