我正在項目中使用Android Volley Networking庫。Volley發送If-Modified-Since當文檔不具有Last-Modified
當我添加「if-None-Match」與etag頭部自己時,我沒有得到304,因爲Volley還添加了「If-Modified-Since」。緩存的響應在標題中沒有「Last-Modified」。
如果高速緩存的請求沒有「Last-Modified」,Volley應該發送「If-Modified-Since」嗎?
我正在項目中使用Android Volley Networking庫。Volley發送If-Modified-Since當文檔不具有Last-Modified
當我添加「if-None-Match」與etag頭部自己時,我沒有得到304,因爲Volley還添加了「If-Modified-Since」。緩存的響應在標題中沒有「Last-Modified」。
如果高速緩存的請求沒有「Last-Modified」,Volley應該發送「If-Modified-Since」嗎?
TL;博士:沒有,我不相信凌空應該發送If-Modified-Since
作爲其請求的一部分,至少不是目前正在做的方式。
較長答案:
排球是設置使用Date
頭從以前的響應here和here的If-Modified-Since
報頭。
看起來像有一個patch here修復凌亂,以便它表現得更恰當(即使用Last-Modified
響應標題)。
這裏有兩個連續的請求,無論從產量排球/ Android的200點回應:
Request 1
If-None-Match: "cd090c6cb990a25585f1748d85d764bd"
If-Modified-Since: Tue, 16 Dec 2014 14:21:13 GMT+00:00
Response 1
ETag: "cd090c6cb990a25585f1748d85d764bd"
Date: Tue, 16 Dec 2014 14:21:29 GMT
Request 2
If-None-Match: "cd090c6cb990a25585f1748d85d764bd"
If-Modified-Since: Tue, 16 Dec 2014 14:21:29 GMT+00:00
Response 2
ETag: "cd090c6cb990a25585f1748d85d764bd"
Date: Tue, 16 Dec 2014 14:23:31 GMT
的響應不包括Last-Modified
頭使HTTP客戶端沒有一個適當的值If-Modified-Since
...但Volley發送If-Modified-Since
以及前一個響應中的Date值。