问题标签 [if-modified-since]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
4133 浏览

android - Android WebView 缓存不会过期

在我的 Android 应用程序中,我使用 WebView 并遇到了缓存问题。缓存文件后,WebView 将永远保留它(或至少在我手动删除缓存之前)。

在 Apache Access-Log 中,我看到一旦文件被缓存,WebView 就不会发送请求。如何使用常见的 ETag 和 HTTP-Code 304 设置 WebView 以发送检查文件是否过期的请求?在桌面浏览器(Firefox、Chrome)上,缓存按预期工作。

这是我的代码:

EWebViewClient 仅覆盖:“shouldOverrideUrlLoading, onPageFinished, onLoadResource, onReceivedError”

我非常感谢您能提供的任何帮助。

0 投票
1 回答
2040 浏览

c# - 我不能在 WebClient 上设置 If-Modified-Since 吗?

我正在使用WebClient检索网站。我决定设置If-Modified-Since是因为如果网站没有改变,我不想再得到它:

Last_refreshed我存储上次访问该网站的时间的变量在哪里。

但是当我运行它时,我得到一个WebException文本:

原来API 文档提到了这一点

此外,在使用WebClient对象时,其他一些标头也受到限制。这些受限标头包括但不限于以下内容:

  • 接受
  • 联系
  • 内容长度
  • 期望(当值设置为“100-继续”时)
  • If-Modified-Since
  • 范围
  • 传输编码

该类HttpWebRequest具有用于设置上述某些标头的属性。如果应用程序设置这些标头很重要,那么HttpWebRequest应该使用类而不是WebRequest类。

那么这是否意味着无法设置它们WebClient?为什么不?If-Modified-Since在 normal中指定有什么问题HTTP GET

我知道我可以只使用HttpWebRequest,但我不想这样做,因为它的工作量太大(必须做一堆转换,不能只是将内容作为字符串获取)。

另外,我知道使用 System.Net.WebRequest 时无法设置一些 HTTP 标头是相关的,但它实际上并没有回答我的问题。

0 投票
1 回答
491 浏览

php - 带有时区的 if-modified-since 的 PHP 时间戳

我将时间戳存储在 MySQL 中,格式如下:

时间戳是使用服务器的默认时区保存的,在我的例子中是EST. 我需要发送CURL带有if-modified-since标头的请求。

我将时间转换为的最佳方式是EST什么GMT?还有一种方法可以通过检查服务器时区来使其完全通用(而不仅仅是硬编码EST)?

0 投票
1 回答
523 浏览

caching - 如何防止 Web 浏览器对缓存文件发出“If-Modified-Since”请求?

我正在尝试在 nginx 中设置缓存,以便不需要重复获取图像。If-Modified-Since除了浏览器仍在为每个带有标题的文件发出请求外,它似乎正在工作。然后服务器响应,304 Not Modified实际文件不再传输。我可以看到在很多情况下这是多么理想的行为,但在我的特殊情况下,文件最多可以过期一周,我更愿意跳过额外请求带来的延迟。

是否可以添加缓存标头,告诉浏览器始终自动使用缓存版本,直到到期?我当前的 nginx 配置是

0 投票
1 回答
1850 浏览

c# - System.Net.Http.HttpClient 添加 If-Modified-Since 标头

我正在尝试从 Windows 通用应用程序发出 Http Get 请求并看到奇怪的行为。(不确定它是通用应用程序的事实是否相关)。

有问题的简化代码是这样的:

在按预期工作且变量s包含 json 内容的单元测试或控制台应用程序中。

但是,在我尝试添加该代码的应用程序(面向 Windows 10 构建 10240 的通用 Windows 应用程序)中,原始 http 请求如下所示:

标题If-Modified-Since正确地导致谷歌返回304 - not modified,所以我没有得到任何 json 文件。问题是我没有添加该标题,我也无法弄清楚它被添加到哪里以及如何停止它。

是否存在可以预料到这种情况的情况,如果是,如何控制这种行为。

0 投票
2 回答
2405 浏览

node.js - 解析 If-Modified-Since 标头 (node.js)

我正在尝试在我正在编写的服务器托管程序中实现发送 304 标头以提高性能,但我不知道如何解析 If-Modified-Since 标头的日期。我还想知道如何确定 If-Modified-Since 日期是否比我的代码中的另一个日期更早/更新。

0 投票
0 回答
320 浏览

java - 第二次刷新后,上次修改的标头不起作用

如果没有更改,我想从缓冲区加载 photourl,但它仅在第一次刷新页面后才有效。当我第一次打开页面时,这是我的回应

刷新后我有 304 状态和响应:

并应要求

再次刷新后,我有 200 个状态,例如第一次访问,并且从服务器重新加载数据。

这是我的控制器。

0 投票
1 回答
187 浏览

r - 使用 httr GET 时不考虑 If-Modified-Since?

我的要求/目标:

我正在从公共页面检索过去 3 个月的 Facebook 帖子,并且我只想选择最近(过去 2 天)修改过的帖子。

我正在使用 httr R 包,并使用 GET 函数来完成上述操作。

我尝试了以下方法:

  1. url.data <- GET(url, config(token=token), config(add_headers("If-Modified-Since" = "2016-09-08 11:45")))

  2. url.data <- GET(url, config(token=token, add_headers("If-Modified-Since" = "2016-09-08 11:45"))

在上面的“url”中,“since”、“until”字段指定了需要检索帖子的时间段(3 个月)。'token' 是用于身份验证的 OAuth 令牌。

以上两种方法都是检索所有帖子,而不是仅检索过去 2 天内修改过的帖子。

是否有另一种将 If-Modified-Since 传递给 GET 的方法,这将导致仅检索所需的帖子?

注意:我已经检查了与 If-Modified-Since 相关的这些帖子,但它们没有回答我的问题:

  1. “If-Modified-Since”标头
  2. “If-Modified-Since”标题?
  3. 如果修改后 - HTTP 协议
  4. If-Modified-Since 日期格式

还有一些与我的场景不完全相关的问题。

任何帮助,将不胜感激。

0 投票
2 回答
1804 浏览

amazon-web-services - Cloudfront如何每次都避免If-Modified-Since标头请求

AWS Cloudfront 文档说:

如果您将特定源的 TTL 设置为 0,CloudFront 仍将缓存来自该源的内容。然后,它将发出带有 If-Modified-Since 标头的 GET 请求,从而使源有机会发出信号,表明 CloudFront 可以继续使用缓存的内容(如果它在源处没有更改)

我需要配置我的动态内容。我已经将 TTL 设置为 0 .. 我希望每个请求总是去 Origin。有没有办法避免这个带有 If-Modified-Since 标头的额外 GET 请求!为什么每次都有这个额外的要求!

0 投票
0 回答
1636 浏览

rest - 如何处理asp.net核心和rest api上的HTTP响应缓存?

我们正在我们的 asp.net 核心项目中创建一个 rest api。

为了管理缓存,我们使用响应缓存中间件和将这些标头添加到响应的 responseccache 属性:

缓存控制:public,max-age=2592000

现在我想做的是处理“ETag”标题或“Last Modified”和“If modified since”标题。

是否有任何包可用于简化这些标头的实现?

在这里,我只想管理标头的缓存,有很多生成 Etag 的解决方案,但它仍在执行服务器端代码。