Назад | Перейти на главную страницу

Управление версиями серверного сегмента

У нас есть корзина с некоторыми файлами за CDN вместе с подписанными URL-адресами. Мы используем строку запроса с версией для обновления содержимого согласно лучшим практикам, например file.ext? v = 100.

До недавнего времени все работало хорошо. В документации теперь указано, что серверные сегменты не обрабатывают строки запроса. Однако раньше мы не встречали такое ограничение, поэтому, похоже, это недавнее изменение.

Есть ли какие-либо обходные пути для получения обновлений почти в реальном времени? Мы не можем избавиться от CDN из-за задержки и не можем изменить имена файлов, поскольку это потребовало бы многих изменений кода. Аннулирование тоже не вариант.

Вы правы, в официальной документации указано:

Для бэкэнд-сегментов ключ кеша состоит из URI без строки запроса. 1

Похоже, что причина изменения заключается в том, что старое поведение привело к потере возможностей кэширования, более высокой стоимости и большей задержке. Единственный рекомендуемый обходной путь на данный момент - создать новые объекты, включив версию в имя объекта или используя недействительность, что не является допустимым вариантом для вашего случая.

Но не имеет значения, что сегмент не оценивает строку запроса, поскольку CDN все равно должен это делать. Фактически, я мог воспроизвести тот же сценарий, и в настоящее время все еще можно использовать строку запроса как средство блокировки кеша.