2014-02-24 37 views
3

我正在項目中使用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」嗎?

回答

4

TL;博士:沒有,我不相信凌空應該發送If-Modified-Since作爲其請求的一部分,至少不是目前正在做的方式。

較長答案:

排球是設置使用Date頭從以前的響應herehereIf-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值。

相關問題