问题标签 [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 投票
2 回答
8372 浏览

php - 我想将哪些标头与 304 响应一起发送?

当我发送 304 响应时。浏览器将如何解释我与 304 一起发送的其他标头?

例如

这会确保浏览器在 $offset 时间“用完”之前不会发送另一个有条件的 GET 请求(也没有任何请求)?

另外,其他标题呢?

我是否应该将这样的标头与 304 一起发送:

我必须发送:

为了确保浏览器在下次 $offset “用完”时发送条件 GET 请求,还是只是保存旧的 Last Modified 和 Etag 值?

发送 304 响应标头时我还应该注意其他事项吗?

0 投票
2 回答
1968 浏览

apache - apache 上的 mod_deflate 导致浏览器执行 200 而不是 304?

我在 Ubuntu 机器上的 Apache 2 上启用了 mod_deflate,并注意到我的浏览器在页面刷新时没有缓存压缩文件类型。我使用萤火虫的网络设置来检查这一点并在另一台计算机上验证。

在 mod_deflate 下,如果我压缩 css 和 js 文件,浏览器每次都会发出请求。

如果我关闭 mod_deflate,浏览器会为 css 和 js 文件获得 304。最终效果是,如果我没有启用 mod_deflate,刷新时页面加载速度会更快。

我打开的其他模块之一会导致这种情况吗?Apache中是否有某种我设置不正确的缓存设置?

我启用 mods 的目录: alias.conf
authz_default.load
autoindex.conf
deflate.load
mime.conf
php5.conf
setenvif.load
alias.load
authz_groupfile.load
autoindex.load
dir.conf
mime.load
php5.load
ssl.conf
auth_digest。加载
authz_host.load
cgi.load
dir.loadnegotiation.conf
rewrite.load
ssl.load
authn_file.load
authz_user.load
deflate.conf
env.loadnegotiation.load
setenvif.conf
_
_

0 投票
5 回答
16357 浏览

.net - HttpWebRequest.GetResponse 在 HTTP 304 上引发 WebException

当 Web 服务器HttpWebRequest.GetResponse()使用 HTTP 304(未修改)响应时,GetResponse()会出现 a WebException,这对我来说非常奇怪。这是设计使然还是我在这里遗漏了一些明显的东西?

0 投票
2 回答
3259 浏览

python - 如何在 Django 中集成 304?

当用户使用相同的数据请求相同的页面时......我希望 Django 返回 304,以便浏览器不必重新加载页面。

我是新手。如何才能做到这一点?

谢谢。

0 投票
2 回答
494 浏览

python - 为什么我在 Django 中收到此错误(我正在尝试执行未修改的 304)

如您所见,如果结果相同,我正在尝试向客户端返回 304。但是,我收到了这个 Django 错误,为什么?:

编辑:我这样做了:

我把所有的结果都变成了一个字符串,希望可以从这个字典中生成一个散列。但是,@etag 似乎不允许我生成 cPickle。错误是:

0 投票
3 回答
3690 浏览

php - 304未修改问题

对不起,可能是错误的标题。我正在编写一些代码来处理 If-Modified-Since 和 If-None-Match 请求作为缓存的一部分。除了 PHP 在标题之后返回一些内容(一个空行)之外,一切都很完美。页面内容应该是空的。我正在使用的代码是:

0 投票
5 回答
206475 浏览

http - 为什么在使用 HttpWebRequest 时某些链接上出现“(304)未修改”错误?

任何想法为什么在我尝试使用 HttpWebRequest 访问的某些链接上我得到“远程服务器返回错误:(304)未修改。” 在代码中?

我正在使用的代码来自Jeff 的帖子(页面似乎已经消失,请参阅Wayback Machine 的存档副本)。

注意代码的概念是一个简单的代理服务器,所以我将浏览器指向这个本地运行的代码,它获取我的浏览器请求,然后通过创建一个新的 HttpWebRequest 来代理它,正如您将在编码。它适用于大多数站点/链接,但对于某些站点/链接来说,会出现此错误。您将在代码中看到一个关键位,它似乎将 http 标头设置从浏览器请求复制到它的请求到站点,并复制到标头属性中。不确定问题是否与它如何模仿请求的这一方面有关,然后当结果返回时会发生什么?

例如,我从http://en.wikipedia.org/wiki/Main_Page得到问题

PS。在这里更新

仍然无法解决这个问题。基本上我可以识别出 1 个有问题的链接,它似乎工作正常,第二次出现错误,第三次正常,第四次出现错误,第五次正常等。好像有一些状态没有被清除或代码中的一些东西。我尝试使用“使用”类型语句等来清理代码。

这是代码。如果有人能发现为什么我每次第二次浏览到http://newsimg.bbc.co.uk/css/screen/1_0_16/nol/v4/story.css之类的链接(从第二次开始,而不是第一次)通过这个代理代码,我得到了我想听到的错误。

这是我看到的一个例子 - 第一次命中很好,第二次有错误......

0 投票
1 回答
4238 浏览

django - 如何在 Django 测试服务器中防止 HTTP 304

我在 Django 中有几个项目,并且时不时地在一个和另一个之间交替。它们都有一个 /media/ 路径,由django.views.static.serve提供服务,它们都有一个/media/css/base.css文件。

问题是,每当我运行一个项目时,对base.css的请求都会返回 HTTP 304(未修改),可能是因为时间戳没有更改。但是当我运行另一个项目时,返回相同的 304,使浏览器使用前一个项目缓存的文件(因此,使用了错误的样式表)。

只是为了记录,这里是中间件类:

我总是使用默认地址http://localhost:8000。是否有其他解决方案(除了使用不同的端口 - 8001、8002 等)?

0 投票
1 回答
694 浏览

http - 当请求标头中没有 Etag 且没有“If-Modified-Since”时,为什么 Web 服务器会响应“304 Not Modified”

我回来

来自网络服务器,但在 Firebug 中,请求标头没有 Etag 也没有If-Modified-Since,我查看了所有标头行,根本没有日期时间信息,那么服务器如何知道内容不是修改的?

0 投票
0 回答
184 浏览

caching - 登录/注销后的浏览器缓存

我有一个带有基本登录/注销系统的站点。

当我显示页面时,我会检查页面的最后修改时间以及浏览器是否发送了 if modified since 标题。如果它没有被修改,我发送一个304标题并退出。

这显然会更快地加载页面,并且对我来说意味着更少的内存和处理能力,因为我不必构建页面内容。

但是,我发现如果用户登录然后查看未修改的页面,他仍然会看到“登录”按钮,如果他注销并查看未修改的页面也是如此,他会看到该选项到logout.

304对于任何希望使用未修改的标头的人来说,这似乎是一种常见的情况,但我正在努力寻找任何关于如何解决它的讨论。

任何帮助将不胜感激(我意识到我没有提供太多信息,但我不确定还能说什么这是不言自明的)