首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么响应头鼓励304-不修改重新加载?

什么响应头鼓励304-不修改重新加载?
EN

Webmasters Stack Exchange用户
提问于 2012-06-12 17:32:57
回答 2查看 2.8K关注 0票数 1

在查看Firebug/Chrome/IE9中的网络瀑布时,我一直看到例如,这一页上的许多可缓存文件(图像、js、css) "200-OK“而不是”304-未修改“。

我认为这是因为浏览器在请求过程中没有发送一个If修改的,对吧?我是否需要更改初始响应头中的某些内容以使304发生?

图13截图

EN

回答 2

Webmasters Stack Exchange用户

回答已采纳

发布于 2012-06-12 18:32:51

我认为这是因为浏览器在请求过程中没有发送一个If修改的,对吧?

对,是这样。

我是否需要更改初始响应头中的某些内容以使304发生?

是。如果比较对后续请求具有304响应代码的资源的原始响应头,您将注意到:

  1. 它们都位于/govtrip/site/grphx/文件夹中。
  2. 它们有"Etag“、”Etag“和”最近修改过的“标题。

第一个时刻告诉我们,该文件夹中很可能有.htaccess文件设置这些头(或该文件夹的配置文件中的其他部分)。

如果您使用304响应代码查看这些资源的请求头,您将看到“If -修改-自”和“If-无匹配”标题的存在。基于这些"If-*“标头,Apache决定如何答复请求。我确信--现在你可以在这里看到一个模式--很容易识别出在哪里使用和在哪里使用的值。

Resource: /govtrip/site/grphx/system_green.gif

原始响应:

代码语言:javascript
复制
Etag: "AAAAS9z9eMo"
Expires: Thu, 14 Jun 2012 18:24:24 GMT
Last-Modified: Wed, 20 Apr 2011 17:29:45 GMT

后续请求:

代码语言:javascript
复制
If-Modified-Since: Wed, 20 Apr 2011 17:29:45 GMT
If-None-Match: "AAAAS9z9eMo"
票数 3
EN

Webmasters Stack Exchange用户

发布于 2018-12-28 21:04:38

在我的经验中,浏览器从不使用If-Modified-Since头。我只看到它由爬虫发送,比如Googlebot。要获得有条件的下载,首先使用ETag: hash-here回答,然后在相应的If-None-Match: hash-here请求中注意相同的URL。在发出条件下载之前,缓存必须先过期,所以请确保使用正确的、立即到期的标头。

注意:还有一个If-Match头。此选项仅用于部分下载,并通过让您检测文件已更改且不再可能恢复来防止损坏。在高级情况下,它甚至可以让您选择要恢复的文件。

票数 0
EN
页面原文内容由Webmasters Stack Exchange提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webmasters.stackexchange.com/questions/30877

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档