问题标签 [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.
static - 启用嵌入式码头缓存静态文件,如 css/js 304
嵌入式码头作为 web 服务器运行,当从 web 浏览器刷新网页时,所有 css 和 js 文件都会刷新 200 代码。css/js 等静态文件的预期代码是 304。如何配置嵌入式码头以启用静态文件缓存?Java 代码而不是 xml 用于配置。提前致谢!
嵌入式服务器初始化如下,
iis-7.5 - IIS 7.5 和 ARR - 未为图像发送 304 状态代码
我们在 Sitecore 站点前使用 ARR 设置了反向代理。我们仅使用此反向代理来提供站点核心媒体项目。Sitecore 媒体项目正在使用 ARR 正确缓存在磁盘上。
现在我们面临的问题是,对于所有图像,HTTP 状态码始终为 200,因此它们不会缓存在浏览器中。如果我们禁用反向代理,则 HTTP 状态代码为 304,并且浏览器从本地缓存呈现图像。
ARR 不发送 304 状态码有什么原因吗?
更新#1:下面是我们设置的 ARR 规则:
ajax - 如何在 Sencha Touch Ajax 请求中发现 302 响应
我正在向我无法控制的后端发出 Ajax.request。
这个请求有时会将我重定向到登录页面,我的 response.status 是 200 而不是 302。到目前为止,我已经尝试过这个:
显然,这种重定向不是我所期望的,所以我需要发现 304 何时发生。
大多数都有一些解决方法。
有任何想法吗?
问候。
node.js - 为什么 express 的 sendFile 函数将 304 视为错误?
我有一个 expressjs 服务器,它使用 sendFile 函数将文件发送给它的客户端。我使用函数的回调来知道何时发生错误。现在看来,每当 sendFile 决定以 304 响应(在我的情况下这是所需的行为)时,它的回调就会被调用并出现以下错误:
但是,我找不到任何有关此的文档,并且我想知道如何确定何时忽略此错误以及何时对其做出反应,因为似乎在其他情况下,此类错误是问题的征兆,而不仅仅是期望行为的副作用。
这确实是 sendFile 应该做的吗?有这方面的任何文件吗?如何将此错误与其他 ECONNABORT 错误区分开来?
c# - Is there anything like 'update time' for ASP.NET-MVC application?
My web-site returns information for items which it takes from disk (involving some logic located in the controller, so it is not just static assets). I tried to optimize it by returning 304 for items which are not changed, by getting file write time for the corresponding item. Now, after I update the code, my application still thinks that an item is not updated and returns 304 - it does not realize that application code is changed so the result would be different. Because of that users do not see the update immediately, only after they get rid of their cache. I would like to solve that problem by checking not only 'item update time' but also 'application update time'. Is there a way to get something like time when application was updated? By this time I would like to see kind of maximum of update times of all application files.
UPD: As asked for example code, here is slightly simplified version:
django - HTTP 200 在 HTTP 304 周围出现 2 次
嗨,我正在使用 Django 和 jQuery Mobile,我得到 2 个 HTTP 200,每个页面刷新围绕着一堆 HTTP 304。我注释掉了我所有的 javascript 包括,但我仍然得到这个,所以我不认为 jQuery mobile 是问题所在。可能是我只是不理解 304,但我环顾四周,为什么围绕 HTTP 304 有 2 个 HTTP 200 请求,但我找不到答案,所以我认为这不自然。
javascript - 避免对服务器的条件请求
我在缓存中加载了一个 js 文件。
当在浏览器中加载 html 文件时,它会向服务器发送条件请求(从此处找到)以检查该资源是否已更改。
我想要做的是在资源被缓存时不要向服务器发送任何请求(既不是条件请求也不是新请求)。
可能吗?
如果可能的话,有什么解决方案?
如果不是为什么?
http - 在 IE9 中加载 SVG 时的 HTTP 状态 304
使用 IE9 将 SVG 加载到我的网页时,我得到一个 HTTP 状态 304。SVG 之前从未加载过,因此它们不应该在缓存中。
我已经阅读了很多主题,到目前为止,我已经尝试过摆弄 IE 9 选项并添加meta
标签。我还读到将随机字符串附加到您的 HTTP 请求可以解决问题。例如
"?string=随机字符串"
但是我不确定如何执行此操作,因为请求是由img
标签触发的。
当我打开 svg 的 url 时,它显示得很好。还有什么我可以尝试的吗?
caching - ETag 是否会使 Cache-Control 标头无效?
我正在从我的 RESTful Web 服务中获取资源,并在响应中添加以下两个标头:
浏览器第一次收到此响应时,它会正确缓存 2 分钟。
但是,下次我请求资源时,我的浏览器现在发送了一个IfNoneMatch
标头,并按304 Not Modified
预期得到了一个标头,以及另一个Cache-Control
要缓存 2 分钟的标头。
但是浏览器没有缓存响应。我不断刷新页面,它不断发出请求,因此不断得到304 Not Modified
.
这是正常行为吗?
如何告诉浏览器在获得 2 分钟后重新验证其缓存资源304 Not Modified
,并且不再发出任何请求?
java - 更改静态资产时播放框架回复未修改
我将一个 Play 框架项目移到了一台新 PC 上,一切正常,但有一个烦人的问题:304: Not Modified
即使在我编辑它们之后,所有静态资源也会返回标题。而且我想我找到了问题的根源,在 curl 中播放框架回复如下:
HTTP/1.1 200 OK
Cache-Control: no-cache
Content-Length: 527
Content-Type: application/javascript; charset=utf-8
Date: Wed, 14 Jan 2015 17:49:24 GMT
ETag: "4a0670efaaa84f8734d67d4557a7309dfe235301"
Last-Modified: Thu, 01 Jan 1970 00:00:00 GMT
这Last-Modified: Thu, 01 Jan 1970 00:00:00 GMT
部分对我来说似乎是错误的。而且当我编辑某些东西时,ETag 并没有改变。这很烦人,因为除非我删除缓存,否则 Chrome 不会加载更改,这使得移动开发几乎不可能。
当我创建一个新应用程序时也会发生同样的事情。它适用于我的旧笔记本电脑,它也有 Windows 8。