Ця нова функція Amazon CloudFront насправді надзвичайно корисна для багатьох випадків використання, оскільки натискання на джерело працює дещо інакше, ніж це виглядає на перший погляд, і не обов'язково є проблемою, навпаки; хоча ця функція вже була випущена раніше, все це поєднується з нещодавнім випуском Amazon CloudFront - Підтримка динамічного вмісту , наприклад для відповідного питання:
Змінна тривалість життя (TTL) - У багатьох випадках динамічний вміст або не можна кешувати, або кешувати дуже короткий проміжок часу, можливо, лише кілька секунд. Раніше мінімальний TTL CloudFront становив 60 хвилин, оскільки весь вміст вважався статичним. Нове мінімальне значення TTL становить 0 секунд. Якщо ви встановите TTL для певного джерела на 0, CloudFront все одно буде кешувати вміст із цього джерела. Потім він зробить запит GET із заголовком If-Modified-Since , тим самим даючи джерелу шанс сигналізувати, що CloudFront може продовжувати використовувати кешований вміст, якщо він не змінився в джерелі . [курсив мій]
Іншими словами, використання TTL 0 в першу чергу означає, що CloudFront делегує повноваження щодо управління кеш-пам’яттю початковій точці, тобто сервер джерела вирішує, чи ні, і якщо протягом якого часу CloudFront кешує об’єкти; будь ласка, зверніть увагу, що запит GET із заголовком If-Modified-Since не обов'язково означає, що сам об'єкт витягується з джерела, швидше походження може (і повинно) повернути код стану HTTP 304 - Не змінено, де це застосовно :
Вказує, що ресурс не змінювався з моменту останнього запиту. [...]
Використання цього заощаджує пропускну здатність та повторну обробку як на сервері, так і на клієнті, оскільки лише дані заголовка повинні бути надіслані та отримані порівняно з цілою сторінкою, що повторно обробляється сервером, а потім надіслані знову з використанням більшої пропускної здатності сервера та клієнта. [курсив мій]
Детальніше про механіку та переваги управління кеш-пам’яттю HTTP - дійсно важливу та ефективну частину архітектури HTTP - див. У чудовому підручнику з кешування Марка Ноттінгема
Розуміння того, як усі ці частини працюють разом, насправді може бути трохи складним, відповідно таблиця в розділі Вказівка мінімального часу, до якого CloudFront кешує об’єкти для розподілу завантажень у межах Вказівки, як довго об’єкти залишаються в кеш-пам’яті CloudFront (термін дії об’єкта), намагається узагальнити ефекти при застосуванні в контексті CloudFront із TTL або без нього конкретно.