Да, Cloud CDN может кэшировать все 3 представления и обслуживать правильное представление на основе заголовка Accept-Encoding клиента, если ответ от вашего исходного сервера включает заголовок Vary: Accept-Encoding. Больше информации на https://cloud.google.com/cdn/docs/caching#vary_headers.
Обновление:
Я не знал, что вы используете ведро Cloud Storage в качестве источника. К сожалению, ни Cloud CDN, ни Cloud Storage не имеют функциональности, которая переписывает запросы клиентов для /chunk.js в /chunk.js.br в зависимости от того, поддерживает ли клиент Brotli. Я согласен, что это было бы полезно, поэтому я подал внутренний запрос на функцию.
Когда исходный сервер, такой как nginx, настроен на выбор подходящего файла, Cloud CDN необходимо возвращаться к исходному серверу только при отсутствии кеша. Поскольку ответы исходного сервера содержат заголовок Vary: Accept-Encoding, Cloud CDN может обслуживать попадания в кэш непосредственно с края, сравнивая заголовок запроса Accept-Encoding клиента со значением Accept-Encoding, указанным при кэшировании ответа. Клиенты, которые указывают Accept-Encoding: br, gzip, будут обслуживаться из одной записи кэша, а клиенты, которые указывают Accept-Encoding: gzip, будут обслуживаться из другой.