Реализация авторизации на сайте с учетом кеширования и last modified

[Удален]
857

Задача такая, на сайте есть форма авторизации, которая есть на каждой странице. При успешной авторизации она заменяется на приветствие, баланс, не суть важно. Хочется отдавать реальный last modified каждой страницы поисковикам (это может вызвать кеширование страницы и неправильное отображение), а не посылать кучу антикеширующих заголовков. Есть ли решение? Можно форму авторизации через аякс конечно сделать, но это каждый раз 2 запроса к серверу, вместо одного.

dmitcat
На сайте с 26.05.2005
Offline
123
#1

а как у вас связаны last modified, форма авторизации и поисковики?

Либо селяВи (http://www.puper.ru), либо селяВас (http://www.puper.ru)!!!
[Удален]
#2

Поисковикам хочу отдавать корректный last modified каждой страницы.

При этом, если юзер пройдет авторизацию, на этой же странице со старым last-modified'ом он опять получит страницу с формой авторизации из кеша провайдера или браузера.

[Удален]
#3
melt:
Поисковикам хочу отдавать корректный last modified каждой страницы.
При этом, если юзер пройдет авторизацию, на этой же странице со старым last-modified'ом он опять получит страницу с формой авторизации из кеша провайдера или браузера.

а вы как хотели? страница то не обновилась же для пользователя :-D

не мудрите, лучше расскажите зачем вам это, может есть другие варианты.

[Удален]
#4

Господа, тупить бросаем. Постановка вопроса изначально неверная. Для кеширования в поисковиках надо ims обрабатывать с выдачей 301... А на lm им срать. Разве что для поиска по дате нужен.

E
На сайте с 14.09.2007
Offline
24
#5
Miha Kuzmin (KMY):
Господа, тупить бросаем. Постановка вопроса изначально неверная. Для кеширования в поисковиках надо ims обрабатывать с выдачей 301... А на lm им срать. Разве что для поиска по дате нужен.

Ну, тоже не совсем верно :) Согласно RFC, клиент (браузер, прокси, поисковый робот, etc) пошлет запрос IMS (If-Modified-Since) только в том случае, если при предыдущем обращении к странице сервер возвращал заголовок LM (Last-Modified). Так что на LM поисковикам совсем не "насрать".

Если поступил запрос IMS от клиента, и страница с тех пор не менялась, сервер должен вернуть ответ 304 Not Modified (а не 301 - ошиблись малость).

Автору:

Как вариант решения проблемы, в обработчике IMS на сервере проверять, авторизован ли пользователь, если да, то отдавать страницу, а не ответ 304.

Но опять же это не всегда сработает - многое зависит от настроек прокси по пути от сервера к клиенту - некоторые могут кешировать намертво опираясь только на значения Last-Modified, и чихая на остальные заголовки и рекомендации RFC. Как-то на одном из виртуальных хостингов столкнулись с вариантом, когда front-end кешировал страницы, выставляя Expires, основываясь на промежутке времени между запросом к странице и ее Last-Modified - они так снижали нагрузку на бекэнде, а клиенты матом ругались от того, что все железно кешировалось, не смотря на Cache-Control и т.п.

Или вообще, разделить (если возможно), части сайта для "общего пользования" (с соответствующими установками LM, обработкой IMS) и "авторизованного пользования" - c полным запретом на кеширование.

По кешированию почитай rfc, и неплохая статья на русском:

http://www.w3.org/Protocols/rfc2616/rfc2616-sec13.html#sec13

http://xmlhack.ru/texts/06/doing-http-caching-right/doing-http-caching-right.html

[Удален]
#6

Essay, а, точна, ступил, с редиректом попутал )))

зы кстати о птичках - яндекс с 304-й очень плохо работает...

E
На сайте с 14.09.2007
Offline
24
#7
Miha Kuzmin (KMY):
Essayзы кстати о птичках - яндекс с 304-й очень плохо работает...

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

[Удален]
#8

Essay, страницы из индекса вылетают активно. Выборка большая. Убрали обработку ims - все пришло в норму.

p.s. все это прошлым летом было, счас не уверен...

E
На сайте с 14.09.2007
Offline
24
#9
Miha Kuzmin (KMY):
Essay, страницы из индекса вылетают активно. Выборка большая. Убрали обработку ims - все пришло в норму.

p.s. все это прошлым летом было, счас не уверен...

Аналогичные траблы, но как-то непонятно: часть сайтов с IMS индексируется без проблем, часть периодически "вылетает" из индекса - грешим на контент (доски объявлений, но не говнодоски, а тщательно модерируемые), но, возможно, дело не в этом...

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий