Как добавить в кешированную страницу данные авторизованного пользователя?
Столкнулся с проблемой кеширования статики при помощи nginx.
На кешируемой странице присутствуют данные авторизованного пользователя их естественно кешировать нельзя, поэтому приходится вставлять их при помощи SSI.
То есть в html коде страницы присутствует SSI вставка вида:
<--#include virtual="/user/render"-->
При отдаче страницы nginx обнаружив SSI вставку обратится по указанному адресу и заменит SSI полученным ответом.
В принципе это работает, но хотелось бы узнать как аналогичный функционал можно сделать по другому?
Вариант с загрузкой данных пользователя при помощи js не очень нравится, так как сначала пользователю будет казаться, что он не авторизован (примерно так работает aliexpress).
У SSI есть один большой минус, когда приходит гость ему не выдадут cookie. А без cookie, он не сможет отправлять формы поиска так как они используют для проверки csrf токен.
Поэтому приходится тянут ajax запросом дополнительный div с данными csrf токена.
То есть используя SSI у нас получается 2 запроса, один на часть пользователя, другой для получения cookie и токена. С Js в этом случае можно уложится в один запрос.
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.