2009-08-31 4 views
0

Я хотел бы как можно больше кэшировать свой сайт с memcache. Есть редкие модификации (несколько как на форуме), которые я отлично понимаю при повторном кэшировании, когда происходит изменение. Моя единственная забота - это информация для входа (аналогично тому, как у stackoverflow есть панель сверху). Это, как я делаю это прямо сейчас:Полностью кэшированный динамический сайт

$('div#user_bar').load('/login-info/'); 

(JQuery на полностью кэшированных страниц нагрузки до UserInfo)

Однако, я думаю, что могу обойтись без динамических страниц полностью. Моя идея такова:

On login: create cookie `logged_in`:true 
On each page: if JS finds cookie is set: show links to logout, settings, etc 
       if not: show link to login page 
On logoff: delete cookie 

Фактическая информация о пользователе не хранится в файлах cookie, даже не в имени пользователя.

Насколько безопасный, разумный, нормальный это? Есть идеи? Я что-то упускаю? Спасибо.

Отказ от ответственности: Это больше упражнение, чем производственная среда. Но я все же стараюсь сохранить безопасность и производительность.

+0

Что делать, если у пользователя отключен JavaScript? –

+0

Ну, Интернет нарушен для тех людей. Хорошо, я буду «изящным» деградировать до отображения всего: логина, настроек, выхода из системы. – pitr

ответ

0

О вашей главной цели: Кэшировать динамические страницы разумно. Если вы работаете на платформе ASP.NET, вам может понадобиться посмотреть на функцию кэширования вывода, которая делает именно это, даже включая динамические подстановки. 4 Guys from rolla.com имеют приятную стартовую статью со ссылками на все подробности.

Относительно страниц, не относящихся к конкретным пользователям: Я сомневаюсь, что это может работать для чего угодно, кроме самых простых страниц. Веб-приложения обычно допускают разные операции для разных пользователей, и если это только смена пароля. Вероятно, вам придется передать специализированный контент клиенту в какой-то момент, и именно здесь вступают в игру динамические подстановки кэша вывода ASP.NET.

Смежные вопросы