Budulianin Wrote:
-------------------------------------------------------
> >В этом случаи приложения должно уметь очень быстро проверять
> If-Modified-Since с текущим Last-Modified, если они равны отдавать
> 304, если нет отдавать новый контент и статус 200.
>
> Под это нужно специально готовить приложение. Обычно приходит GET и
> отдаётся 200.
Лично я разработчик а не администратор, и я бы больше был мотивирован в доработке приложения, вместо решения этой задачи на уровне админисрирования веб-сервера.
P.S.
Чем быстрей вы займетесь разработкой приложения, тем быстрей вы из Junior вырастите в Senior разработчика, там и зарплаты другие и задачи интересней )
> А если сделать так: отдавать в кэш браузера, на очень короткий срок
> динамические страницы(3-5 мин),
> статику(JS, CSS, img) на пару часов. А кэш самого nginx хранить
> дольше: динамические страницы(20-30 минут)
> статику несколько суток. Тогда если вдруг понадобится быстро поменять
> что-то, то мы всегда сможем почистить кэш nginx.
>
> Таким образом, и браузерный кэш нам помогает, и nginx на себя
> принимает основную нагрузку, и мы в любой момент, в очень короткий
> срок, можем сделать весь контент у всех пользователей, опять
> актуальным.
>
> Как идея?
Вы знаете как определяется скорость каравана? Она равна скорости самого медленного звена каравана.
В вашей схеме кеш контента будет валидным столько сколько вы указали Nginx и не важно что браузеры будут делать запрос чаще, Nginx будет отдавать им контент из кеша и не обращаться к вашему приложению, логика кеширования в Nginx такая же как в браузерах, я уже вам объяснял что значит max-age, для Nginx он означает тоже самое - это кол-во секунд на протяжении которых Nginx будет отдавать конент из кеша и не обращаться к вашему приложению.
Эта схема защитит ваше приложения от нагрузки, но она никак не сможет актуализировать кеш быстрей чем это указанно в max-age.