2009-10-23 133 views
0

我正在爲Ruby編寫一個爬網程序,並且我想要承認服務器發出的頭文件以使爬網更有效。在Ruby中確定頁面是否需要由客戶端重新下載的方式有一個簡單的方法嗎?我知道我需要考慮至少這些標題:檢查網頁是否被修改/已過期用Ruby

  • 最後修改
  • ETag時
  • 緩存控制
  • 過期

什麼是確定如此明確的方式 - 是地方指定?

回答

1

你說得對,你需要看一下頭,但你需要考慮的是,服務器是什麼設置這些。如果它們設置正確,那麼你可以使用它們來做出決定,但它們都不是必需的。

就我個人而言,我可能會開始追蹤expires的值,因爲我在做初始下載時,以及記錄etag。最後,我會看看最後一次修改,就像我做了下一步,假設過期或etag顯示了一些信號,表明我可能需要重新下載(或者如果它們甚至沒有設置)。我不希望緩存控制是有用的。