我正在一个项目中使用Android Volley网络库。
当我将“if-none-match”与etag添加到头球中时,我不会得到304,因为Volley也添加了“if-modified-since”。缓存得响应得标头中没有“last-modified”.
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