Убедитесь, что веб-страница была изменена / истек срок действия с Ruby - PullRequest
0 голосов
/ 23 октября 2009

Я пишу сканер для Ruby и хочу отметить заголовки, которые отправляет сервер, чтобы сделать сканирование более эффективным. Есть ли в Ruby простой способ определения необходимости повторной загрузки страницы клиентом? Я знаю, что мне нужно рассмотреть как минимум следующие заголовки:

  • Последнее изменение
  • ETags
  • Контроль кэша
  • 1010 * Истекает *

Каков окончательный способ определения этого - это указано где-нибудь?

Ответы [ 2 ]

1 голос
/ 23 октября 2009

Вы находитесь прямо на заголовках, на которые вам нужно взглянуть, но вы должны учитывать, что именно сервер их устанавливает. Если они установлены правильно, вы можете использовать их для принятия решения, но ни один из них не требуется.

Лично я, вероятно, начну с отслеживания значения expires при первоначальной загрузке, а также с регистрации etag. Наконец, я посмотрел на последний измененный, как я сделал на следующем проходе, предполагая, что expires или etag показывали какой-то признак того, что мне может понадобиться повторно загрузить (или если они даже не установлены). Я не ожидаю, что Cache Control будет таким полезным.

0 голосов
/ 23 октября 2009

Вы захотите прочитать о методе head в Net::HTTP - http://www.ruby -doc.org / stdlib /

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...