问题标签 [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.
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 值。
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 开发人员工具(资源)复制
batch-file - DOS 目录 /tw 开关不起作用
我正在尝试使用修改后的时间戳将文件列表与控制文件进行比较
这应该返回 ,controlfile
因为修改日期olderfile
早于controlfile
。但是,它似乎是在创建日期进行比较(olderfile
的创建日期在controlfile
's 之后),因此将始终返回olderfile
。/tw
开关应该告诉dir
使用最后写入的日期(从)dir /?
所以我不确定如果我希望 /tw 像记录的那样工作我做错了什么?
:更新:
到目前为止,我olderfile
在相对于controlfile
. 当我复制olderfile
到与比较工作相同的目录时controlfile
- 即上述命令返回controlfile
。因此,在子文件夹中显然会破坏比较(即使子文件夹修改日期就像olderfile
's 本身的日期早于 's 的日期controlfile
)。
所以我现在的问题是,鉴于需要目录结构,我该如何解决这个问题?
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”,因为该地址的先前响应是
有谁知道如何回避这种行为?或者它是一个铬错误?
http - Chrome 不发送“If-Modified-Since”
我希望浏览器始终添加(第一次除外)“If-Modified-Since”请求标头以避免不必要的流量。
响应头是:
FF 11 和 IE 9 都发送“If-Modified-Since”并得到 304 作为响应,但 Chrome 18 没有并得到 200。
为什么?如何强制 Chrome 发送“If-Modified-Since”标头?我不知道它是否重要,但所有请求都通过 HTTPS。
php - 在 PHP 脚本中处理 If-modified-since 标头
我有一个使用?img=参数调用的 PHP 脚本。
该参数的值是图像的(urlencoded)URL。
我的脚本检查该图像是否已存储在我的服务器上。
如果没有 - 它会下载它。之后,它可以选择调整图像大小并将其发送到 STDOUT,即返回到请求浏览器,并在前面加上Content-Type和Last-modified标头:
这是解决一些跨域问题所必需的,并且一年多以来对我来说效果很好:
但是,我想添加功能来处理传入的If-Modified-since标头 - 发送未修改的 304响应。
我的问题是:
1) 在 Apache 中运行时,这在 PHP 中是否可行?
2) 如何在 PHP 中处理(即解析和生成)最好的日期?
奖金问题)如何为调整大小的图像添加Content-Length标头?
我的代码如下(我省略了 CURL 下载部分):
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 输出如下:
java - 如何在 Android Java 中知道网页最后修改的日期和时间
如何知道使用 Android Java 上次修改网页的日期?或者我如何要求
If-Modified-Since:如果内容未更改,则允许返回 304 Not Modified
使用 http 标头?
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”日期值,这是正确的方法吗?
php - 浏览器不要对 .php 文件使用 if-modified HTTP Request Header 字段
我将所有 css 文件合并到一个 .php 文件中,以减少每次访问我的网页的请求数。
我在我的 .php 文件请求后将过期日期标头设置为 1 天
问题是浏览器不使用 .php 文件的缓存。我的意思是它不会在请求时发送 IF-MODIFIED 标头字段,因此所有后续请求都将以 HTTP 响应代码 200(而不是 304)响应。