Эта новая функция 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 Край Cache (Истечение Object) попытки суммированы эффекты при применении в контексте CloudFront с TTL = 0 или без него.