Http
If-Modified-Since vs. If-None-Match
通常的瀏覽器條件請求如下所示:
獲取 /i/yahoo.gif
HTTP/1.1 主機:us.yimg.com
If-Modified-Since: 2006 年 12 月 12 日星期二 03:03:59 GMT
如果-無匹配:“10c24bc-4ab-457e1c1f”HTTP/1.1
但是 If-Modified-Since 和 If-None-Match 之間的關係是什麼。或者?和?因此,如果其中任何一個“失敗”,是否會發送新版本?
http://www.ietf.org/rfc/rfc2616.txt
13.3.4 何時使用實體標籤和最後修改日期的規則
HTTP/1.1 源伺服器,在接收到包含 Last-Modified 日期(例如,在 If-Modified-Since 或 If-Unmodified-Since 頭欄位中)和一個或多個實體標籤(例如,在If-Match、If-None-Match 或 If-Range 頭欄位)作為記憶體驗證器,不得返回 304(未修改)的響應狀態,除非這樣做與請求中的所有條件頭欄位一致。
HTTP/1.1 記憶體代理,在接收到包含 Last-Modified 日期和一個或多個實體標籤作為記憶體驗證器的條件請求時,不得向客戶端返回本地記憶體響應,除非該記憶體響應與所有請求中的條件頭欄位。
- 注意:這些規則背後的一般原則是 HTTP/1.1 伺服器和客戶端應該在其響應和請求中傳輸盡可能多的非冗餘資訊。接收此資訊的 HTTP/1.1 系統將對它們接收的驗證器做出最保守的假設。