Я искал способы ускорить загрузку моего сайта, и один из способов, который я хотел бы изучить, - это более широкое использование Cloudfront.
Поскольку Cloudfront изначально не был разработан как пользовательский источникCDN, и поскольку он не поддерживает gzipping, я до сих пор использовал его для размещения всех своих изображений, на которые ссылается их имя в Cloudfront cname в коде моего сайта, и оптимизированных с помощью заголовков дальней фьючерсов.
CSSа файлы javascript, с другой стороны, размещены на моем собственном сервере, потому что до сих пор у меня сложилось впечатление, что их нельзя обслуживать в gzip-архиве из Cloudfront, и что выгода от gzipping (около 75%) перевешивает таковую изиспользование CDN (около 50%): Amazon S3 (и, следовательно, Cloudfront) не поддерживает стандартную обработку gzip-содержимого с помощью заголовка HTTP Accept-Encoding, отправляемого браузерами, чтобы указать, что они поддерживают сжатие gzip, и т. д.они не могли Gzip и обслуживать компоненты на лету.
Таким образом, я былдо сих пор сложилось впечатление, что нужно было выбирать между двумя альтернативами:
переместить все активы в Amazon CloudFront и забыть о GZipping;
оставляйте компоненты самостоятельно размещенными и настраивайте наш сервер для обнаружения входящих запросов и выполнения GZipping на лету в зависимости от ситуации, что я и выбрал до сих пор.
Там были обходных путей для решения этой проблемы, но по сути эти не работали .[ ссылка ].
Теперь, похоже, Amazon Cloudfront поддерживает пользовательское происхождение, и что теперь можно использовать стандартный метод HTTP Accept-Encoding для обслуживания сжатого содержимого, если выиспользуется пользовательское происхождение [ ссылка ].
До сих пор я не смог реализовать новую функцию на моем сервере.Сообщение в блоге, на которое я ссылался выше, - единственное, в котором я нашел подробное описание изменений, похоже, подразумевает, что вы можете включить gzipping (обходные пути, которые я не хочу использовать), если вы выбираете пользовательское происхождение, котороеЯ бы предпочел этого не делать: мне проще разместить основные файлы на моем сервере Cloudfront и ссылаться на них оттуда.Несмотря на то, что я внимательно прочитал документацию, я не знаю:
, означает ли, что новая функция означает, что файлы должны быть размещены на моем собственном доменном сервере через пользовательское происхождение, иесли это так, то какая настройка кода позволит добиться этого;
как настроить заголовки css и javascript, чтобы убедиться, что они обслуживаются в сжатом виде из Cloudfront.