问题标签 [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.
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。
- 更多内容稍后...
internet-explorer - 为什么当“每次我访问该页面”打开时我会收到 304?
我们有一个具有此设置的(旧)Intranet 站点
Every time I visit the page
: 真的
但我仍然可以在开发人员工具中看到许多304
回复:
问题:
- 这是为什么 ?如何强制将所有响应视为
200
?
相关资料:
IIS 7.5
它发生在IE9-10
(该站点仅在 IE 上运行)(浏览器模式更改为 ie9,因为它是一个未针对新浏览器进行调整的旧网站(内部网)。
使用提琴手 - 它还显示 304。
请求头示例:
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 是自动增量。
请有任何建议,为什么更新代码不起作用?
http - 304 未修改为 200(来自缓存)
我试图了解“状态 304 未修改”和“200(来自缓存)”之间究竟有什么区别
我在上次更改的 javascript 文件上收到 304。为什么会这样?感谢您的帮助。
javascript - 同步阻止具有 304 状态的 javascript 文件?
我有一个 Web 应用程序,其中通过脚本标记加载了一个 javascript 对象。然后在后面的另一个脚本标记中引用 js 对象。两个脚本都没有 defer 或 async 属性。在我在第一个脚本上获得 304 状态之前,这没有问题。
每当第一个脚本返回状态 304 时,应用程序就好像在脚本中创建的对象不存在一样。好像脚本被乱序解析了?每当发生这种情况时,应用程序都会自行挂起。
该应用程序是在 iis7 上运行的 ASP.net MVC 应用程序。Web 配置包含 js 文件的静态文件处理程序。
此外,304 状态似乎是完全随机的。有时即使文件没有被修改,我也会得到 200,然后随机它会以 304 的形式返回。
这也发生在所有浏览器中。
有没有人看到这种行为或知道为什么会发生这种情况?
etag - 同时利用 etags 和分块编码?
更新的问题
我的应用程序如何利用 etags,引入流/分块编码是否会带来任何复杂性?
原始问题
使用 进行 HTTP 流式传输时Transfer-Encoding: chunked
,Content-Length
无法发送,因为它通常是未知的。
据我了解,当浏览器利用 etag 时,他们需要知道Content-Length
. 如果提供了 etag 但未提供Content-Length
,浏览器将永远不会发送If-None-Match
.
有没有解决的办法?
http - 使用 HTTP 304 响应 POST
我有一个允许使用 HTTP POST 修改资源的 REST API。客户端可能会提交一个不会导致资源修改的 POST 请求。我正在考虑使用通常用于条件响应的 304 响应来指示请求无效。我找不到任何这样做的例子,所以我想我会在这里问一下,看看是否有其他人正在这样做或对此有意见。
ajax - 如何从缓存中清除 HTTP 304 响应?
我有一种情况,我的 asp.net MVC 页面上的下拉列表正在由对 json 数据的 AJAX GET 请求填充。第一个请求返回带有 200 OK 响应的数据。后续调用返回 304 Not Modified 请求,并且下拉列表仍然正确填充。这一切都很好。
但是,在我的应用程序的另一部分中,另一个用户可能会修改从中返回下拉数据的存储库的内容。我想要的是,在这样的修改之后,其他用户对下拉列表数据的任何后续请求都不应返回 304 Not Modified 结果,而是重新获取数据。
我如何实现这一目标?
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。
http - “304 Not Modified”究竟是如何工作的?
“304 Not Modified”响应是如何生成的?
浏览器如何判断对 HTTP 请求的响应是否为 304?
是浏览器设置的还是服务器发送的?
如果由服务器发送,服务器如何知道缓存中可用的数据,以及如何将 304 设置为图像?
我的猜测,如果它是由浏览器生成的:
我依靠第三方 API 提供商来获取数据、解析并将其推送到我的数据库。每次请求期间数据可能会或可能不会更改,但标头始终发送200
. 我不想解析,检查数据库中的最后一个唯一 ID 等等......以确定数据的变化,也不想直接比较结果,而是对结果进行md5()
哈希处理sha1()
并且crc32()
工作正常,但我想知道算法来确定304
。
我想使用同一种算法来确定我的数据的变化。