Last-Modified

L
На сайте с 07.12.2007
Offline
351
#41
Vimsite:
paqwerty, У меня на моих сайтах есть уже больше пяти лет как. Никаких преференций в поисковиках я не заметил)))

Аналогично. На 20 наблюдаемых сайтах разницы в ранжировании от наличия ims/304/lm/etag не замечено. Переиндексируются - быстрее, но сайты от 40 000 до 200 000 страниц Яндекс всё равно переиндексирует по полгода, не смотря на LastModified.

Правильно сделать связку IfModifiedSince - 304 - Last-Modified для динамического контента можно только при помощи хранения в БД(или файлах) хэша и даты всех страниц. Генерить страницу, брать от неё хэш(типа MD5) и сравнивать его с хранящимся в БД для этого же url.

Если хэши совпали и дата ims позже даты записи хэша в БД - страница не изменилась и можно отдавать 304 не отправляя сам контент страницы.

Но серверу всё-равно надо полностью сгенерить страницу, вся экономия ресурсов - что сервер не будет её отправлять.

И, если, уж, браться за ims/lm, по уму надо делать и поддержку etag.

Всё это достаточно трудоёмко, и рискованно - при ошибке в индексе ПС и у посетителей могут долго быть устаревшие копии ваших страниц. Имхо, достаточно кэширования картинок, яваскриптов и стилей, которое веб-сервер делает самостоятельно.

[Удален]
#42

Ladycharm, не понял про хеш. Нафига? Даты вроде как достаточно.

---------- Добавлено 05.07.2016 в 16:32 ----------

Ladycharm:
Всё это достаточно трудоёмко, и рискованно - при ошибке в индексе ПС и у посетителей могут долго быть устаревшие копии ваших страниц.

Я бы сказал по другому. Допустим, когда я там еще в бдбд работал - яндекс тупо глючил с ims/304

r27
На сайте с 11.06.2012
Offline
105
r27
#43
Ladycharm:
Правильно сделать связку IfModifiedSince - 304 - Last-Modified для динамического контента можно только при помощи хранения в БД(или файлах) хэша и даты всех страниц. Генерить страницу, брать от неё хэш(типа MD5) и сравнивать его с хранящимся в БД для этого же url.
Если хэши совпали и дата ims позже даты записи хэша в БД - страница не изменилась и можно отдавать 304 не отправляя сам контент страницы.

Как уже говорилось выше, LM без 304-й не имеет смысла.

То, что Вы написали в общем случае недостаточно. Если есть внешние css и js файлы, картинки и т.д., такая проверка изменений хэшей страницы не покажет полного изменения страницы, т.к. могут поменяться css и т.д.

Вот ETag может попробовать вместо LM использовать.

Никого не консультирую и ничего не оптимизирую.
L
На сайте с 07.12.2007
Offline
351
#44
Miha Kuzmin (KMY):
Ladycharm, не понял про хеш. Нафига? Даты вроде как достаточно.

Чтобы узнать изменилась страница или нет, надо сравнить свеже-сгенерённую страницу с её предыдущей копией. Можно хранить и сравнивать страницы целиком, можно только md5 от них.

Подсчёт хэша может быть эффективнее, чем хранение/сравнение полей MEDIUMBLOB/MEDIUMTEXT.

[Удален]
#45
Ladycharm:
Чтобы узнать изменилась страница или нет, надо сравнить свеже-сгенерённую страницу с её предыдущей копией

Мда, вы явно никогда не кодили. Не нужно. Нужно просто обрабатывать ее изменение.

spbs
На сайте с 22.02.2010
Offline
85
#46

Да, отредактирована страница в админке, одобрен комментарий к этой странице в админке - менять в базе поле last-modif или как угодно :) и автоматом обновлять sitemap.xml (можно по крону раз в сутки, например)☝

Слышь, уважаемый, дай фотик на пять сек, позвонить надо...
ShumiL
На сайте с 07.11.2014
Offline
49
#47
GoRSS:
Расскажите нам, зачем нужна отдача заголовка?

Так вроде очевидно все:

http://habrahabr.ru/post/109043/

http://last-modified.com/ru/if-modified-since.html

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