问题标签 [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 投票
1 回答
1921 浏览

wcf - 让 if-modified-since 标头与 WCF 一起使用

我正在尝试让“if-modified-since”标头与我的 WCF Web 服务一起使用。

当用户向我的服务发出请求时,我将 ETag 添加到包含请求时间戳的传出响应中,如下所示:

这将产生以下 ETag 标头:

然后,我将这个值作为 if-modified-since 标头回显给后续请求,如下所示:

当我检查 WebOperationContext.Current.Headers.IfModifiedSince 时,我从来没有得到提供的值。该值固定为“12/31/1969 7:00:00 PM”。

我究竟做错了什么?

更新

我应该补充一点,使用 Fiddler,我可以为 If-Modified-Since 标头设置任何值,并且仍然在代码中获得相同的 1969 值。

0 投票
0 回答
329 浏览

caching - $_SERVER['IF_MODIFIED_SINCE'] 也没有其他任何东西真的被 Safari 发回

safari 没有发回任何请求标头,我发疯了。我很惭愧我花了这么长时间才意识到它(一段时间以来发回 304,直到现在才意识到这个 safari 问题)

Firefox 说话,chrome 说话,explorer 说话。

Safari是愚蠢的。

阅读此http://use.perl.org/~bart/journal/36598将表明问题出在最后修改的标头中发送到 Safari 的日期格式上。如果是这样的话,上面使用的格式有什么问题?

花了 3 个小时进行测试和无用的搜索。现在在放弃为 safari 提供缓存支持之前浏览 developer.apple 网站...可能是内部设置,复制粘贴 http 格式日期时出错,缺少标题...

感谢您的帮助

编辑:这是 safari 在刷新上面的测试脚本时发送的 http 标头,从 safari 开发人员工具(资源)复制

0 投票
1 回答
1512 浏览

batch-file - DOS 目录 /tw 开关不起作用

我正在尝试使用修改后的时间戳将文件列表与控制文件进行比较

这应该返回 ,controlfile因为修改日期olderfile早于controlfile。但是,它似乎是在创建日期进行比较(olderfile的创建日期在controlfile's 之后),因此将始终返回olderfile/tw开关应该告诉dir使用最后写入的日期(从)dir /?所以我不确定如果我希望 /tw 像记录的那样工作我做错了什么?

:更新:

到目前为止,我olderfile在相对于controlfile. 当我复制olderfile到与比较工作相同的目录时controlfile- 即上述命令返回controlfile。因此,在子文件夹中显然会破坏比较(即使子文件夹修改日期就像olderfile's 本身的日期早于 's 的日期controlfile)。

所以我现在的问题是,鉴于需要目录结构,我该如何解决这个问题?

0 投票
0 回答
605 浏览

wordpress - 谷歌浏览器不恰当地发送 If-Modified-Since 标头

运行 Chrome v 17.0.963.83

退出仅在 Chrome 中发生的 Wordpress 站点时遇到问题,我想我已经追踪到 HTTP 标头。

工作流程:您已登录。访问主页(又名站点根目录,又名 /),上面有一个注销链接,其 redirect_to 将您发送回根目录。您会注意到响应是一条 HTTP 200 消息,其中包含以下响应:

然后,您使用页面上的链接注销。注销脚本 302 将您正确重定向到主页。这次请求包含一个 If-Modified-Since 标头:

这一次,由于您已注销,缓存文件的 Last-Modified 日期远远早于您之前发送的动态页面,因此服务器会告诉您它是 304 Not Modified。问题是,Chrome 不应该问“If-Modified-Since”,因为该地址的先前响应是

有谁知道如何回避这种行为?或者它是一个铬错误?

0 投票
6 回答
9360 浏览

http - Chrome 不发送“If-Modified-Since”

我希望浏览器始终添加(第一次除外)“If-Modified-Since”请求标头以避免不必要的流量。

响应头是:

FF 11 和 IE 9 都发送“If-Modified-Since”并得到 304 作为响应,但 Chrome 18 没有并得到 200。

为什么?如何强制 Chrome 发送“If-Modified-Since”标头?我不知道它是否重要,但所有请求都通过 HTTPS。

0 投票
2 回答
19488 浏览

php - 在 PHP 脚本中处理 If-modified-since 标头

我有一个使用?img=参数调用的 PHP 脚本。

该参数的值是图像的(urlencoded)URL。

我的脚本检查该图像是否已存储在我的服务器上。

如果没有 - 它会下载它。之后,它可以选择调整图像大小并将其发送到 STDOUT,即返回到请求浏览器,并在前面加上Content-TypeLast-modified标头:

这是解决一些跨域问题所必需的,并且一年多以来对我来说效果很好:

截屏

但是,我想添加功能来处理传入的If-Modified-since标头 - 发送未修改的 304响应。

我的问题是:

1) 在 Apache 中运行时,这在 PHP 中是否可行?

2) 如何在 PHP 中处理(即解析和生成)最好的日期?

奖金问题)如何为调整大小的图像添加Content-Length标头?

我的代码如下(我省略了 CURL 下载部分):

0 投票
1 回答
2365 浏览

ruby-on-rails - Rails 3 HTTP-header If-Modified-Since 使用 curl

我有一个简单的开箱即用的 rails 服务器正在运行,我试图弄清楚如何使它与 If-Modified-Since 标头一起工作。我正在使用以下 curl 请求。

curl -I localhost:3000/shows/1 --header 'If-Modified-Since: Thu, 21 Jun 2012 19:16:20 GMT'

我总是得到 200 OK,但我想要 304 Not Modified。

当我通过浏览器执行此操作时,我得到一个 304 Not Modified 但不是 curl。

我做错了吗?

更新

如果我跑

curl -v -I localhost:3000/shows/1 --header 'If-Modified-Since: Thu, 21 Jun 2012 19:16:20 GMT'

我得到:

设置Cookie:_spacebarfm-rails_session = BAh7B0kiD3Nlc3Npb25faWQGOgZFRkkiJWY0NzNjYmFlYzJhNzgzZWRjMjc2MmU4YWFkZDc1OTIwBjsAVEkiEF9jc3JmX3Rva2VuBjsARkkiMWhjU3NvQ2VuRkR1NmJRREV1SmxOMUlaK3VhQU0ycjY2am94cFFmOTVnTTg9BjsARg%3D%3D - f9c756d08065c423cdecba2d710b1b74bf798c12; 路径=/; HttpOnly

控制器的rails代码是:

Chrome 输出如下:

0 投票
1 回答
1807 浏览

java - 如何在 Android Java 中知道网页最后修改的日期和时间

如何知道使用 Android Java 上次修改网页的日期?或者我如何要求

If-Modified-Since:如果内容未更改,则允许返回 304 Not Modified

使用 http 标头?

0 投票
2 回答
1556 浏览

asp.net-mvc-3 - 带有过滤器和 MVC3 的 if-modified-since 标头

我刚刚看到了一些关于实现 if-modified-since 标头的示例。我真的不明白它是如何运作的很好。我已经看过这个例子,似乎如果我为标题“Last-Modified”设置一个日期值,那么如果我稍后检查它,我会得到一个标题“If-Modified-Since”的值,对吗?

还有,好像他虽然提供了一个帮手,但我每一个动作都要用到它?

我也查看了这篇文章。他创建了一个过滤器来处理“If-Modified-Since”标题。但是,我不太了解他在那里试图做什么,但正如我所看到的,如果“Last-Modified”和“If-Modified-Since”标题为空,那么它将读取为 dateModified = true然后它不会在过滤器内做任何事情。因此,我认为这取决于在每个操作中设置这些标头值?

最后,我不太确定应该如何使用它,我认为每当我对视图进行更新时,我都应该发送一个新的“Last-Modified”日期值,这是正确的方法吗?

0 投票
1 回答
156 浏览

php - 浏览器不要对 .php 文件使用 if-modified HTTP Request Header 字段

我将所有 css 文件合并到一个 .php 文件中,以减少每次访问我的网页的请求数。
我在我的 .php 文件请求后将过期日期标头设置为 1 天
问题是浏览器不使用 .php 文件的缓存。我的意思是它不会在请求时发送 IF-MODIFIED 标头字段,因此所有后续请求都将以 HTTP 响应代码 200(而不是 304)响应。