问题标签 [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 回答
3730 浏览

javascript - 从需要 If-modified-since 的 API 获取数据,在 node,js 中使用 request.js

我正在为4chan API 做代理。我在 Node.js + Express 中使用request.js对 API 进行查询,但我不知道如何准确实现 API 所需的“If-modified-since”,这是代码:

如果我对已经完成的 4chan 进行查询,它不会回答并且超时触发。

4chan API 规则:

  • 每秒不要发出超过一个请求。
  • 线程更新应设置为至少 10 秒,最好更高。
  • 执行请求时使用 If-Modified-Since。
  • 使用与应用相同的协议发出 API 请求。仅当用户通过 HTTPS 访问您的应用程序时才使用 SSL。
  • 更多内容稍后...
0 投票
2 回答
3533 浏览

internet-explorer - 为什么当“每次我访问该页面”打开时我会收到 304?

我们有一个具有此设置的(旧)Intranet 站点

Every time I visit the page: 真的

在此处输入图像描述

但我仍然可以在开发人员工具中看到许多304回复:

在此处输入图像描述

问题

  • 这是为什么 ?如何强制将所有响应视为200

相关资料:

IIS 7.5

它发生在IE9-10(该站点仅在 IE 上运行)(浏览器模式更改为 ie9,因为它是一个未针对新浏览器进行调整的旧网站(内部网)。

使用提琴手 - 它还显示 304。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

请求头示例:

在此处输入图像描述

0 投票
2 回答
136 浏览

php - 带有 AJAX 和 PHP 的 mysql UPDATE 在两种相同情况之一中不起作用

我正在尝试使用 AJAX 和 php 脚本更新 mysql 表,但我仍然收到“304 Not modified”消息。我在这里搜索了很多问题,也用谷歌搜索了它,但没有任何运气......我 100% 确定所有变量都是用 AJAX 发送并由 PHP 以正确的形式接收的,我已经这样检查过:

echo 只是为了确保所有变量都填充了正确的值

然后我尝试更新表,但结果是 304 消息,变量 $hodnoty 返回为空:

其他 php 文件中的相同代码,但仅用于修改同一个表中的不同列。此代码有效:

我表中的列是:id slovensky preklad druh lekcia skusane spravne uspesnost,其中 id 是自动增量。

请有任何建议,为什么更新代码不起作用?

0 投票
3 回答
18982 浏览

http - 304 未修改为 200(来自缓存)

我试图了解“状态 304 未修改”和“200(来自缓存)”之间究竟有什么区别 这是屏幕截图

我在上次更改的 javascript 文件上收到 304。为什么会这样?感谢您的帮助。

0 投票
0 回答
202 浏览

javascript - 同步阻止具有 304 状态的 javascript 文件?

我有一个 Web 应用程序,其中通过脚本标记加载了一个 javascript 对象。然后在后面的另一个脚本标记中引用 js 对象。两个脚本都没有 defer 或 async 属性。在我在第一个脚本上获得 304 状态之前,这没有问题。

每当第一个脚本返回状态 304 时,应用程序就好像在脚本中创建的对象不存在一样。好像脚本被乱序解析了?每当发生这种情况时,应用程序都会自行挂起。

该应用程序是在 iis7 上运行的 ASP.net MVC 应用程序。Web 配置包含 js 文件的静态文件处理程序。

此外,304 状态似乎是完全随机的。有时即使文件没有被修改,我也会得到 200,然后随机它会以 304 的形式返回。

这也发生在所有浏览器中。

有没有人看到这种行为或知道为什么会发生这种情况?

0 投票
1 回答
979 浏览

etag - 同时利用 etags 和分块编码?

更新的问题

我的应用程序如何利用 etags,引入流/分块编码是否会带来任何复杂性?


原始问题

使用 进行 HTTP 流式传输时Transfer-Encoding: chunkedContent-Length无法发送,因为它通常是未知的。

据我了解,当浏览器利用 etag 时,他们需要知道Content-Length. 如果提供了 etag 但未提供Content-Length,浏览器将永远不会发送If-None-Match.

有没有解决的办法?

0 投票
2 回答
12498 浏览

http - 使用 HTTP 304 响应 POST

我有一个允许使用 HTTP POST 修改资源的 REST API。客户端可能会提交一个不会导致资源修改的 POST 请求。我正在考虑使用通常用于条件响应的 304 响应来指示请求无效。我找不到任何这样做的例子,所以我想我会在这里问一下,看看是否有其他人正在这样做或对此有意见。

0 投票
1 回答
1564 浏览

ajax - 如何从缓存中清除 HTTP 304 响应?

我有一种情况,我的 asp.net MVC 页面上的下拉列表正在由对 json 数据的 AJAX GET 请求填充。第一个请求返回带有 200 OK 响应的数据。后续调用返回 304 Not Modified 请求,并且下拉列表仍然正确填充。这一切都很好。

但是,在我的应用程序的另一部分中,另一个用户可能会修改从中返回下拉数据的存储库的内容。我想要的是,在这样的修改之后,其他用户对下拉列表数据的任何后续请求都不应返回 304 Not Modified 结果,而是重新获取数据。

我如何实现这一目标?

0 投票
1 回答
496 浏览

javascript - IE8 AJAX 错误:未加载 javascript

我有一个使用 JSP、JavaScript、jQuery 和 css 构建的相当复杂的页面。它在 Chrome、Firefox 和 IE10 中运行良好。但是,它在 IE8 中不起作用 - 特定于该特定页面的 JavaScript 无法加载,HTML 被破坏,一些 css 被加载,但不是全部。

通过 AJAX 调用调用的页面:

在开发者工具中捕获网络活动显示相关脚本文件已开始到达,但仅收到 155B-157B。结果码为304,时间显示为1ms以下。Chrome 的相同报告显示相同的 JS 文件大小为 3-7-12KB,需要 3-10 毫秒才能到达,HTTP 代码为 200。

通过常规 GET 请求请求的同一页面正常加载。该问题看起来像是IE8 中已知的激进缓存问题,但不知何故设置cache : false并不能阻止 304 的发生。

我怎样才能使这项工作?

使用 jQuery 版本 1.4.2,在 Win7 上使用 IE8。tc 开发者服务器 2.8.2。

0 投票
2 回答
168114 浏览

http - “304 Not Modified”究竟是如何工作的?

  • “304 Not Modified”响应是如何生成的?

  • 浏览器如何判断对 HTTP 请求的响应是否为 304?

  • 是浏览器设置的还是服务器发送的?

  • 如果由服务器发送,服务器如何知道缓存中可用的数据,以及如何将 304 设置为图像?

我的猜测,如果它是由浏览器生成的:

我依靠第三方 API 提供商来获取数据、解析并将其推送到我的数据库。每次请求期间数据可能会或可能不会更改,但标头始终发送200. 我不想解析,检查数据库中的最后一个唯一 ID 等等......以确定数据的变化,也不想直接比较结果,而是对结果进行md5()哈希处理sha1()并且crc32()工作正常,但我想知道算法来确定304

我想使用同一种算法来确定我的数据的变化。