簡體   English   中英

HttpWebResponse LastModified

[英]HttpWebResponse LastModified

HttpWebResponse.LastModified准確嗎? 它總是存在嗎? 我的項目是創建一種專注的Web爬蟲,如果我將使用資源的哈希值或僅使用HttpWebResponse.LastModified屬性來檢查資源的“新鮮度”,我就會陷入困境。

使用哈希值意味着每次檢查時都會流式傳輸資源。 這對整體表現有很大影響。

如果我只是檢查HttpWebResponse.LastModified,它是否准確?

HttpWebResponse.LastModified返回HTTP Last-Modified響應頭的值。

HTTP響應標頭由發送響應的HTTP服務器設置。 如果它設置了Last-Modified響應頭,它是否完全取決於服務器,以及它是否將其設置為准確值。

Last-Modified響應頭是HTTP中緩存驗證模型的一部分。 它通常與If-Modified-Since請求標頭一起使用。 您可能希望閱讀HTTP / 1.1,第6部分:緩存細節。

這取決於你的目的。

Last-Modified意味着服務器很高興您繼續使用具有相同最后修改值的實體(或稍后暗示,盡管服務器的最后修改后的內容會很奇怪,但可能會發生在一些多服務器情況下)。

電子標簽更強(如果它不是“弱”電子標簽,則更多)因為它標識特定實體(不同語言版本的電子標簽,不同的內容類型版本或不同的內容編碼版本會有所不同除非它們實際上是同一個實體[ 可能會在有限的情況下發生])。

兩者都可能“松散”,或許服務器變更被認為是微不足道的; 服務器很高興您繼續使用前一個實體,因為它認為它是相同的(“強”電子標簽除外,它必須指示用於范圍請求的八位字節到八位字節的標識)。

兩者當然都可能是完全錯誤的。 蟲子發生了。 也就是說,當他們錯了時,往往會朝另一個方向發生變化,在沒有發生變化的情況下報告變化(一個有效的行為,一個人可以對新鮮度過於謹慎;它永遠不會損害只會使次優)。

那么問題是,您是否需要知道服務器認為沒有進行任何更改(大多數使用)或者確實存在更改(幾乎僅限於診斷工具)。

除非你有明確的理由不信任,否則請相信最后修改和電子標簽(但更多信任電子標簽)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM