Я заметил, что файлы, доставляемые PHP с помощью readfile или fpassthru методов, никогда не кэшируются браузером.
readfile
fpassthru
Как я могу "поощрять" браузеры кешировать элементы, доставленные этими методами?
Независимо от того, кэшируется ли ваш контент или нет, он не имеет ничего общего с readfile () и консорциумами, но, вероятно, заголовки кэширования по умолчанию, генерируемые сервером (которые активируют кэширование для страниц HTML и ресурсов изображений), не применяются при использовании PHP для передачи файлов.
Вам нужно будет отправить соответствующие заголовки вместе с вашим контентом, сообщив браузеру, что с кэшированием для этого ресурса все в порядке.
См. Например
Руководство по кэшированию для веб-авторов и веб-мастеров
Как использовать заголовки кеша HTTP с PHP
В итоге я нашел эту страницу и использовал ее в качестве отправной точки для своей собственной реализации. Пример кода на этой странице, наряду с некоторыми материалами, на которые указал Пекка, стал для меня отличным трамплином.