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