Volley发送If-Modified-因为文档没有Last-Modified

时间:2014-02-24 16:02:33

标签: android-volley

我正在项目中使用Android Volley Networking库。

当我自己将“if-None-Match”与etag添加到标题时我没有得到304,因为Volley还添加了“If-Modified-Since”。缓存的响应在标题中没有“Last-Modified”。

当Volley发送“If-Modified-Since”时,如果缓存的请求没有“Last-Modified”?

1 个答案:

答案 0 :(得分:4)

tl;博士:不,我不相信Volley应该发送If-Modified-Since作为其请求的一部分,至少不是它目前的做法。< / p>

更长的回答:

Volley正在使用上一个回复herehere中的If-Modified-Since标头设置Date标头。

看起来有一个patch here可以修复凌空,使其行为更合适(即使用Last-Modified响应标头)。

此后两个请求都会产生Volley / 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发送日期来自先前回复的价值。