问题标签 [http-status-code-304]

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 回答
4547 浏览

internet-explorer - IE9收到ETag后伪造304

我遇到了 AJAX 和 Internet Explorer 9 的问题:它在收到对初始 etagged GET 的响应后停止轮询我们的服务器。

它假装发出带有响应的请求,例如“响应 HTTP/1.1 304 未修改,状态 200 OK”(是的,一个响应中有两个不同的状态代码)和相同的 ETag(应该随时间变化),但它们实际上都没有出现在服务器中日志。

此问题仅出现在 IE 中,相同的代码在 Chrome 和 FF 中运行良好。

也许将 {cache: false} 传递给 jQuery.ajax() 可能会有所帮助,但我想知道是否有办法在服务器端解决问题。

我们的 ETag 使用可能存在错误。

谢谢!

0 投票
1 回答
1146 浏览

c# - 响应 304 - 使用 ASP.NET Web 服务的客户端缓存

我正在用 ASP.NET 4.5 开发我的应用程序。我设置了一个网络服务。Jquery 使用 GET Ajax 调用访问 Web 服务。该函数有一个 'id' 参数,并且对于每个 id 它返回不同的内容。

我想在服务器和客户端上缓存该数据。在客户端,我已经知道如何使用“CacheDuration”,但问题出在客户端。我使用 HttpFox 来获取每个响应的标题。

我在函数的开头设置了以下代码:

我想要做的是防止客户端再次发送相同 ID 的请求,并这样做让我们说.. 10 分钟。所以在第一次调用时会发出请求,我们得到响应 200。第二次响应头应该是 304。

现在上面的代码没有做到这一点,我想知道如何实现这一点。同样,我正在谈论返回 304 的客户端缓存,因此它希望再次访问服务器以获取相同的“id”,直到缓存过期。

我知道可以使用代码完成,所以请不要提交IIS类型的解决方案。

需要你的帮助来解决这个问题。

0 投票
2 回答
1533 浏览

php - 来自 jquery 1.8 $.ajax 的 POST 返回 304。错误的 apache 配置?

我将以下 Post 请求发送到远程 apache 服务器,托管一个小型 php 脚本:

邮政:

mmm.php 脚本:

httpd.conf:

来自服务器的回复是 304。所有文件都有 755 权限。没有 idia 如何解决这个问题。谢谢!

这是带有错误的警报: 警报

0 投票
1 回答
4100 浏览

ruby-on-rails - 在 Rails 3.2.3 服务器中,我收到错误 304 Not Modified (5ms)

我是 ruby​​ 和 rails 的新手几个月了。我参加了 ruby​​ 和 rails 的课程,这使我能够创建一个餐厅博客网站。好吧,我最近开始改造该网站以供我的朋友使用。所以它只是改变了一些关于图片、措辞等的东西。当我完全创建另一个博客时,我注册了一个登录页面,他们需要创建一个登录页面才能创建和发表评论等。一切似乎当我为本地主机服务器运行 rails 时工作正常,但是当我为站点创建登录以确保一切正常时。它不允许我创建登录,并且我的 Rails 服务器中不断出现错误。见下文!我已经搜索和搜索,似乎无法找到解决方案。我唯一真正改变的是一些图片和一些措辞。我没有' 不要乱用登录编码,创建登录代码等。任何帮助都会很好,同时我会继续搜索。在此之前,我遇到了内容长度错误,所以我关注了这个网站http://theresa.multimediatechnology.at/webrick-warnings-in-ruby-1-9-3/。这似乎解决了这个问题,但现在我得到了以下信息。谢谢!

0 投票
0 回答
1141 浏览

asp.net - HTTP 304 未修改响应需要几秒钟

我正在构建一个 ASP.NET 应用程序。我遇到了一些缓慢的加载时间,所以我使用 Fiddler 检查了流量。页面本身似乎在大约 3 秒内加载。

好吧,这有点慢,但让我感到困惑的是 js、css 和图像资产需要多长时间才能加载,即使它们正在被缓存。它在响应 304 之前需要 3 秒的 HTTP 请求。现在,我已经完成了 Web 开发的分享,我的理解是 304 响应不应该花费 3 秒。

我的怀疑是托管应用程序的服务器太弱了。它是一个运行 Windows Server 2K8 SP2 的虚拟机,内存约 2GB,物理机上至少有一个其他虚拟机同时运行。在我去给自己买一台新服务器之前,机器中的电源不足听起来可能是导致此问题的原因吗?

注意:延迟应该不是问题;我正在通过 Intranet 访问它。

0 投票
2 回答
2461 浏览

servicestack - 返回 304 Not Modified with ServiceStack 时防止不需要的标头

使用 ServiceStack,我只想返回304 Not Modified如下:

但是 ServiceStack 添加了许多其他不需要的(使用 304 代码返回 HttpResult)标头,如下所示:

如何防止其他标头被输出?我用HttpResult尝试了各种方法,注册了一个虚拟内容类型过滤器,但顾名思义,它只控制内容,而不是标题或此处列出的其他内容。我还尝试使用 IStreamWriter 和 IHasOptions 实现我自己的 IHttpResult 衍生物,结果相同:ServiceStack 添加了不需要的标头。

谢谢

更新

可以content-type使用以下方法删除,但仍然存在一些标题,即content-length,serverdate.

0 投票
4 回答
11207 浏览

iphone - AFNetworking:如何知道响应是否使用缓存?304 或 200

我找不到任何问题的答案,可能是我错过了什么......

当我请求一个 url 时,我需要知道响应是来自缓存还是来自网络。

状态码是 304 还是 200 ?(但AFNetworking总是响应 200)

ASIHTTPRequest曾经检查“ didUseCachedResponse” from ASIHTTPRequest,这是完美的。

0 投票
1 回答
957 浏览

ruby-on-rails - 如何让 nginx 基于 Redis 缓存返回 304 Not Modified?

我正在考虑设置一个 Redis 缓存来加速使用 nginx 部署的 Ruby on Rails 应用程序。我希望 nginx 基于 Redis 数据库中的时间戳(例如上次修改)或基于密钥的存在发送 304 Not Modified。到目前为止,我发现的唯一一件事是如何在 Redis 中缓存整个页面,例如 HttpRedis 模块中的以下示例:

有谁知道这是否可能?或者你会推荐另一种方式来发送 304 响应而不进入 Rails 堆栈?

0 投票
0 回答
706 浏览

php - Chrome上的动态css文件304但FF和IE上的200?

我有一个动态加载的css文件。例如:

在 chrome 上加载速度非常快,并且有304 not modified标题。

在 FF 和 IE 上,它有200 OK状态并在 6 秒内加载!

例如,如果我有一个静态 css 文件:

我得到了304 not modified所有浏览器。

有什么想法可能导致这种情况吗?htaccess 或 httpd.conf 中没有特定于浏览器的规则

0 投票
1 回答
1502 浏览

php - PHP中的浏览器缓存控制系统

我正在尝试构建一个用 PHP 编写的浏览器缓存控制系统。

更深入地讲,我想使用 Php 为每个浏览器请求提供服务,以生成正确的 HTTP 响应标头并在正确的时间生成HTTP 200或未修改的 HTTP 304

最大的问题是:我如何委托 PHP 来检查资源是 HTTP 200 还是 HTTP 304?