Как отдавать поисковикам Last-Modified динамических страниц?

1 234 5
AB
На сайте с 06.07.2004
Offline
45
#21
wolf:
Тупая выдача Last-Modified ничего не даст.
Надо обрабатывать запрос if-modified-since - отдавать 200 или 304 в зависимости от ситуации. Прочувствуйте разницу.

Почувствовал, это обсуждалось уже здесь http://www.seochase.com/viewtopic.php?t=1860

re-pulse your mind (http://www.amontillado.ru)
[Удален]
#22
Если присутствует то 304, если нет то 200

А чего уж там, может сразу 304 всегда выдавать ? 😂

[Удален]
#23
wolf:
Тупая выдача Last-Modified ничего не даст.

Почему? Думаю она заставит заново скачать документ с сервера в любом случае. Просто это неоптимально с точки зрения кэширования.

wolf:

Надо обрабатывать запрос if-modified-since - отдавать 200 или 304 в зависимости от ситуации. Прочувствуйте разницу.

Согласен - это более грамотная обработка заголовков. Раз уж забрали обработку заголовков у http-сервера на себя - лучше все их обрабатывать на php. Но это уже тема следующего топика, когда с этим разберутся.;)

Как съесть слона? Надо есть маленькими порциями...

Ярик
На сайте с 26.10.2003
Offline
121
#24
Miha Kuzmin (KMY):
А чего уж там, может сразу 304 всегда выдавать ? 😂

Нафиг? Мы вообще про, что беседу ведем? Может я топиком ошибся? 😂

Дело каждого - попробуй постоянно 304 отдать...

не посылай, да и не послан будешь...
[Удален]
#25

Ярик, дело в том (странно, что не догоняете), что 304 нужно обрабатывать когда документ с последней проверки не изменялся. Для этого нужно проверять дату передаваемую с ims и сравнивать с датой изменения документа. А теперь вопрос на засыпку: вы вообще понимаете, что приведенный скрипт делает ?

[Удален]
#26
Miha Kuzmin (KMY):
Ярик, приведенная конструкция вообще не в тему. Вы бы хоть подумали, что она делает.

Да, похоже, всё-таки "в тему"... В следующую тему ;) Вон Гуру говорят, что кроме LastModified, неплохо ещё и другие заголовки грамотно слать, чтобы проксики и броузеры могли свой кэш с пользой использовать. Если думать о людах "по другую сторону" твоего сервера - действительно, надо их обрабатывать.

А то, что дата в том примере "от фонаря" - так там только идея показана.

Ярик
На сайте с 26.10.2003
Offline
121
#27
Miha Kuzmin (KMY):
Ярик, дело в том (странно, что не догоняете), что 304 нужно обрабатывать когда документ с последней проверки не изменялся. Для этого нужно проверять дату передаваемую с ims и сравнивать с датой изменения документа. А теперь вопрос на засыпку: вы вообще понимаете, что приведенный скрипт делает ?

😂 Конечно понимаю... Просто это сильно урезаный вариант ;)

Скрипт придумывает дату создания и устаревания документа и скармливает поисковику если он пришел в первый раз. А если пришел второй и в запросе проставил IF_MODIFIED_SINCE то ему отдается 304...

Я пользую для того, чтоб робот лишний раз не лазил по одним и тем-же страницам :) Сайт обновляется редко, содержание практически не меняется - короче нефиг ему старые страницы шевелить ;)

Единственный минус, что дата шаровая

[Удален]
#28

ksav, да уж, идея там замечательная - отдавать 304 если ims есть 😂

[Удален]
#29
pro-maker:
Etag нужен?

Нет, Etag не нужен. Достаточно last modified + content length, тогда if-none-match агенты не будут юзать.

[Удален]
#30
Miha Kuzmin (KMY):
ksav, да уж, идея там замечательная - отдавать 304 если ims есть 😂

Не-а. Узрел идею - парсить ВСЕ заголовки, вместо тупой отдачи LastModified, а что отдавать будете - решать уже Вам.

А даты последнего изменения php-файлов определить несложно. Если используешь БД - можно пока попробовать тупо смотреть дату последнего изменения всей базы, а не отдельных таблиц.

А по ссылке http://www.seochase.com/viewtopic.php?t=1860 - код действительно интересный, спасибо Atomic Bombermа. Щас его опробую и буду юзать. Если у людей есть прокси - надо дать им возможность экономить трафик и деньги.

Обработку ETag только пока в это коде закомментарю - нет у меня страниц с авторизацией, неграмотен я пока в этом, вон Гуру говорят - им можно пренебречь.

bondarev.pp.ru:
Второй способ (по-моему, лучше): тоже буферизовать вывод и иметь для каждого URLа, например, MD5 хэш с датой последнего изменения. При каждом запросе сверять хэш, если не изменился - выдавать дату которая есть. Если изменился - сохранять новый и отдавть time().

Идея классная. Непонятно, почему народ её не воспринял. Не надо смотреть даты изменения файлов и баз данных.

Контретные примеры кода MD5_hash - здесь:http://www.rusdoc.ru/articles/9861/.

bondarev.pp.ru + в репу, если патроны не кончились...

1 234 5

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