Есть сайт... Пользователь загружает на сайт изображения - аватарки в профиль, превьюшки к темам на форуме. Скрипт принимает изображение и конвертирует его в 3 вида. В основном вид зависит от размера, но на некоторые добавляется прозрачный фон для сохранения, увеличения или уменьшения соотношения сторон. 4 изображения (конвертированные и оригинал) храню в разных категориях с одинаковым именем. Изображение доступно по ссылке
https://i.example.com/?t=1&f=example-image112232.jpeg где t - тип изображения (маленькое, среднее, большое), f - имя изображения.
Изображения конвертируются довольно быстро, но на всякий случай сделал так, что если просят изображение, которое ещё не прошло конвертацию, отдаю изображение "по умолчанию", которое своим видом говорит, что изображение конвертируется (конвертирую через GD в CLI).
Изображение отдаю так:
header('Cache-Control: public,max-age=31536000,only-if-cached');
header('Content-Type: '. $_Image->img['mime']); // $_Image->img['mime'] - Mime-тип изображение, вычисляю функцией getImageSize()
header('Date: '. date('D, d M Y H:i:s') .' GMT');
header('Etag: JohnDidact_Image_'. $_Image->img['name']);
header('Last-Modified: '. $_Image->img['last_modified']); // $_Image->img['last_modified'] - Время крайнего изменения (создания) изображения, вычисляю функцией fileMTime()
header('Content-Disposition: inline; filename='. $filename); // имя файла тоже вычисляется: название сайта + кусок имени оригинала + расширение файла.
echo file_get_contents($img_src); // вывожу байты из локального файла (изображение)
Я довольно жадный параноик, поэтому мне жалко и страшно отдавать таким способом изображение. Следовательно вопрос, много ли грузит сервер такой метод отдачи файлов? На много ли ресурсоёмок этот метод, по сравнению с обычной отдачей файла сервером? Я читал много по этому поводу, но не достаточно. Хотелось бы просто получить содержательный ответ... Спасибо.