当前位置: 首页 > 知识库问答 >
问题:

Volley在文档没有最后修改时发送If-Modified-Since

双俊人
2023-03-14

我正在一个项目中使用Android Volley网络库。

当我将“if-none-match”与etag添加到头球中时,我不会得到304,因为Volley也添加了“if-modified-since”。缓存得响应得标头中没有“last-modified”.

共有1个答案

甄永年
2023-03-14

TL;DR:不,我不认为Volley应该将if-modified-since作为其请求的一部分发送,至少不是以当前的方式发送。

更长的答案:

Volley正在使用前面响应的date头设置if-modified-since头。

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带有上一个响应的日期值。

 类似资料:
  • 这可能是一个非常基本的问题,但我已经没有想法了 改装v2。4.0不会发送自头修改后的,因此缓存不起作用。 我每天轮询服务器几次,看看是否有任何更新的数据,因此需要如果修改自头。 基于本文,设置非常简单:https://futurestud.io/tutorials/retrofit-2-activate-response-caching-etag-last-modified 我读过几篇相关文章,但

  • 我正在用PHP生成动态内容。 我正在发送以下HTTP标头: 我稍后会检查Etag是否发送匹配的。这与Chrome和Firefox完美配合。但是,Safari(版本6.0.2)不发送“If-Modified-From”和“If-Node-Match”标头。这是Safari在第二页点击时发送的请求标头: 该页面上链接的所有其他文件都会收到正确的请求头,Safari会在适当的时候使用缓存文件或304。

  • If-Modified-Since请求的HTTP标头发出请求的条件:服务器会发送回所请求的资源,用200状态,只有当它已经给定的日期之后被最后修改。如果请求没有被修改,那么响应将是304没有任何主体的;Last-Modified头将包含最后一次修改的日期。不同于If-Unmodified-Since,If-Modified-Since只能与GET或HEAD一起使用。 与组合使用时If-None-M

  • 主要内容:1. 使用fauxton更新(编辑)文档,2. CouchDB使用cURL工具更新文档在本篇文章中,我们来学习如何编辑/修改 CouchDB 数据库中的文档。编辑/修改 CouchDB 数据库中的文档有两种方法,下面分别来看看如何操作。 1. 使用fauxton更新(编辑)文档 打开Fauxton url:http://127.0.0.1:5984/_utils 在创建文档后,还可以更新/更改/编辑文档。首先打数据库概览,里边有文档列表,如下表所示 - 点击想要修改的文档,例如点击

  • Beautiful Soup的强项是文档树的搜索,但同时也可以方便的修改文档树 修改tag的名称和属性 在 Attributes 的章节中已经介绍过这个功能,但是再看一遍也无妨. 重命名一个tag,改变属性的值,添加或删除属性: soup = BeautifulSoup('<b>Extremely bold</b>') tag = soup.b tag.name = "blockquote" t

  • DOM 修改是创建“实时”页面的关键。 在这里,我们将会看到如何“即时”创建新元素并修改现有页面内容。 例子:展示一条消息 让我们使用一个示例进行演示。我们将在页面上添加一条比 alert 更好看的消息。 它的外观如下: <style> .alert { padding: 15px; border: 1px solid #d6e9c6; border-radius: 4px; co