Apache设置了ETag,为啥在max-age过期后,重新请求是200而不是304?

服务器配置

  • 系统:Ubuntu 16.04.6 LTS
  • 服务器:Apache/2.4.18
  • 开发框架:Thinkphp 5.0
  • apache配置:

apache2配置,去除了Last-Modified

描述问题

可以看到我的配置中是,设置了ETag并且取消了Last-Modified的,Cache-Control:public,max-age=60。

奇怪的是,在max-age过期之后,再访问同一个资源,发现是200而不是304,但是请求头If-None-Match跟响应头的ETag是一致的,请问还有哪些地方配置失败了,或者说哪个地方影响了ETag的正常功能。

网上都是说输入:FileETag INode Mtime Size就开启了,确实Header有ETag,但是不起作用,麻烦各位大佬们解答,谢谢!!!!

访问过程图

1. 第一次请求:Crtl + F5

图片说明

2. 第二次请求:F5(在max-age期间内)

图片说明

3. 第三次请求:F5(在max-age期间外)

图片说明

谢谢大佬们的阅读与解答

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
HTTP状态码304与ETag详解
状态码304 相关头信息 Last-Modified:响应头,表示当前资源的最后修改时间; If-Modified-Since:请求头,表示缓存的资源最后修改时间; 状态码304:表示访问的资源没有改变 客户端首次访问服务器的静态资源index.html,服务器会把index.html响应给客户端,而且还会添加一个名为Last-Modified的响应头,它说明了当前index.html的最后...
Apache如何开启Etag(304状态码使用提高访问速度)
-
服务器响应200和304含义
200--OK304--Not Modified客户端在请求一份文件的时候,服务端会检查客户端是否存在该文件,如果客户端不存在该文件,则下载该文件并返回200;如果客户端存在该文件并且该文件在规定期限内没有被修改(Inode,MTime和Size),则服务端只返回一个304,并不返回资源内容,客户端将会使用之前的缓存文件。而etags就是判断该文件是否被修改的记号,与服务器端的资源一一关联,所以e...
HTTP状态码之200和304
2019独角兽企业重金招聘Python工程师标准>>> ...
tornado开发调试禁用静态文件浏览器缓存(ETag,304)
在使用tornado开发过程中总是遇到多次刷新页面而页面不更新的情况,目前可以采取的方法有: 1、重启后端tornado服务 2、ctrl+F5强制刷新 3、按F12进入调试模式,在Network里面选择Disable cache,再刷新 4、在url后面加入参数(如:http://www.csdn.net/?v=1233123),当参数内容不重复时,浏览器就会无缓存刷新 5、...
重新设置apache的日志文件
        Apache的日志文件access_log的标准是每一万个请求增加 1Mb,时间长了硬盘的空间就会越来越少,但是,直接移除该文件的方法是不可取的,因为Apache 将继续写日志文件,结果是将来产生的日志文件的大小没有变化并包含着大量空字符。         正确的方法是转移日志文件并发送信号给Apache 重新打开日志文件 [root@localhost ~]#cd {apache...
Apache htaccess 设置 设置expires和max-age缓存 的兼容写法
htaccess文件内容: <IfModule mod_headers.c> <FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$"> Header set Cache-Control "max-age=604800, public" </FilesMatch> <FilesMatch...
HTTP的相应200与304的区别
Cache-Control策略 Cache-Control策略指明的是当前资源的有效期,控制浏览器缓存取数据还是重新发请求要服务器,其主要参数是max-age,即有效时间,以秒为单位,例如max-age,表明请求有效期为5分钟。 Last-Modified/If-Modified-SinceLast-Modified/If-Modified-Since要配合Cache-Control使用。 Last
移除Etag,提高apache的效率
Etag就是http响应头中的ETagapache和IIS都将ETag视为一个性能问题,所以建议出去ETag,Last-Modified头可以提供完全等价的新体,而且移除ETag可以减少响应和后续请求的HTTP头的大小
为啥要用change master而不是配置文件
因为安全隐患,如果把密码写conf文件里,就可以直接从var目录拿到,具体怎么拿需要去研究一下。
结果为啥是9而不是4??
[code=C/C++]#include rnrnint main()rnrn int x=1,y;rn y= ++x*++x;rn cout << x << endl;rn cout << y <
设置网站expires和max-age属性
转:http://www.zicheng.net/article/982022.htm 在使用百度站长工具测试网站优化建议时,在 设置静态内容缓存时间 栏目里,会提示 类似 FAILED - (未设置max-age或expires) - http://www.zicheng.net 的内容,我也是遇到同样的问题,经过多次搜索最终找到解决办法,先分别就在nignx、tomcat以及apache中如何...
MyEclipse过期后重新注册序列号的方式
我用的是MyEclipse8.6,在菜单栏里选择MyEclipse-——>Subscription Information,如下图: 然后到网上获取相应的序列号信息粘贴到指定的框里就OK了。 
MyEclipse 工具过期后,重新激活方法
最近发现之前安装myclipse工具,忘记激活了,提示已经过期需要激活,重装后还是用不了,重新去激活也不行,提示最多可使用5天。如下 后来,在网上找了一些重新激活的方法,可以激活成功。自己也整理一下,具体如下: 1、点击【Update License】按钮 2.进入到更新页面,点击【Activate Now】按钮 3.选择Web Activation的方式,点击【下一...
session的过期时间如何重新设置???
我在后台有个session,设置过期时间为20分钟,用户每跳转一次页面session我都会进行验证用户身份,rnrn然后重新设置session的过期时间,但是无论我怎么重新设置,每到20分钟过后session都会过期???rnrn我的初衷是:如果用户20分钟没有操作,则session过期,如果20分钟内有操作,则session过期时间rnrn重新设置为20分钟,请教各位高手应该怎么设置才对??????????
Nginx如何开启Etag(304状态码使用提高访问速度)
-
myeclipse过期重新激活
今天重装系统,然后myeclipse过期了,重新激活下 工具:cracker.jar 链接:https://pan.baidu.com/s/1BPKnilf2vRFJFqDcAZyKMg 提取码:qblr 第一步:输入用户名 第二步:点SystemId,等SystemId出现 第三步:点Active 点击菜单栏的MyEclipse,点击Subscription ...
会话过期重新登录
1.在前端接收request里返回的状态码进行判断 tools.setAjaxGlobal = function () { $(document).ajaxComplete(function (event, request, settings) { if (settings.url &amp;&amp; settings.url.indexOf("/logout") &gt;...
apache设置静态元素过期时间
当用户访问网站时,浏览器会缓存网页的图片等,以方便下次访问该网页时不用再次加载图片等文件提高访问速度,但缓存不能一直存在,故应该设置静态元素过期时间,指定某些缓存文件在指定时间后需要再次被加载。 修改虚拟主机配置文件 添加静态元素过期时间配置 [root@zhounan1 ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf &amp;lt...
apache中哪里有“内容过期”的设置
IIS中有这个设置,选中“启用内容过期”复选框,包含时间敏感性材料(例如特别优惠或事件公告)的过期信息。浏览器将当前日期与过期日期相比较,确定是显示缓存的网页,还是从服务器请求最新网页。rn这样,我选择“立即过期”的话,客户端每次都要到服务器端请求新页面,而不是读本机的缓存的网页。rn但是apache中相应的设置在哪里?我怎么没有找到?
为啥apache filter会和KeepAlive设置冲突?
大家好,我在写apache filter时遇到一个问题无法解决,希望大家帮助,下面我描述下问题:rnrn我的filter是参考网上那个mod_case_filter标准过滤器模块来写的,该模块需要将apache的KeepAlive选项设置为On,但是在加载了该模块后,我发现KeepAlive虽然设置为On,但是apache仍然是按照Off来工作的。然后我又重新加载mod_case_filter这个标准教程模块,结果发现它也会导致KeepAlive始终为Off效果。rnrn上面就是我的问题,请问下到底是怎么一回事?
Miller-Rabin算法 求是不是素数
一.费马小定里  if n is prime and (a,n) equals one ,then a^(n-1) = 1 (mod n) 费马小定理只是个必要条件,符合费马小定理而非素数的数叫做Carmichael. 前3个Carmichael数是561,1105,1729。 Carmichael数是非常少的。 在1~100000000范围内的整数中,只有255个Car
为什么我们使用Nginx而不是Apache?
我们大多数的客户在他们的服务器上使用Apache作为Web服务器,尤其是部署在一个基于PHP系统的前端并且使用mod-PHP。鉴于扩张性和性能方面的原因,我们通常会建议他们改用Nginx和FPM。 Apache是非常强大的Web服务器,模块化结构,也是Web服务端的鼻祖。除了捆绑一些其他的工具外,Apache已经成为了世上最广泛部署的开源系统,直到最近,世界上大多数网站仍运行着Apache系统。...
为什么我们使用 Nginx 而不是 Apache
  我们大多数的客户在他们的服务器上使用Apache作为Web服务器,尤其是部署在一个基于PHP系统的前端并且使用mod-PHP。鉴于扩张性和性能方面的原因,我们通常会建议他们改用Nginx和FPM。 https://dn-linuxcn.qbox.me/data/attachment/album/201303/24/160019nbnlkqb0n0l...
为什么我们使用Nginx而不是Apache
我们大多数的客户在他们的服务器上使用Apache作为Web服务器,尤其是部署在一个基于PHP系统的前端并且使用mod-PHP。鉴于扩张性和性能方面的原因,我们通常会建议他们改用Nginx和FPM。 Apache是非常强大的Web服务器,模块化结构,也是Web服务端的鼻祖。除了捆绑一些其他的工具外,Apache已经成为了世上最广泛部署的开源系统,直到最近,世界上大多数网站仍运行着Apache系统。
返回为啥提示网页过期!
怎么解决阿
nginx支持后端的etag
对于nginx来说,如果打开了gzip,会对关闭掉et
wamp2.5安装完毕后手动重新设置apache的默认根目录
为什么80%的码农都做不了架构师?&gt;&gt;&gt; ...
HTTP状态301、404、200、304等的意思
301、404、200、304等HTTP状态,代表什么意思?   在网站建设的实际应用中,容易出现很多小小的失误,就像mysql当初优化不到位,影响整体网站的浏览效果一样,其实,网站的常规http状态码的表现也是一样,Google无法验证网站几种解决办法,提及到由于404状态页面设置不正常,导致了google管理员工具无法验证的情况,当然,影响的不仅仅是这一方面,影响的更是网站的整体浏览
HTTP协议状态码304和200区别
2019独角兽企业重金招聘Python工程师标准&gt;&gt;&gt; ...
缓存处理后,F5刷新页面,css和js返回200,为什么不是304?
最近在Apache上做网站的静态资源缓存,但是各种配置之后,发现css和js返回的状态码都是200,为什么不是304? 找来找去在知乎上得到了答案。 来自知乎的一个回答http://www.zhihu.com/question/35036322 apahce 2.4本身的一个bug。apache2.4同时使用gzip压缩和缓存,etag名字会自动变成“******-gzip”,当存在gzi...
raspberry 重新烧录后的设置
raspberry初学者在使用的时候经常遇到各种问题,常常重新烧录系统,现在把新系统的常用配置和安装内容整理一下,避免自己忘记 1.安装常用软件包: sudo apt-get gedit sudo apt-get git 2.开机自启动设置: sudo nano /etc/rc.local 3.网络连接设置 sudo nano /etc/wpa_supplicant/wpa_supp...
301、404、200、304等HTTP状态意思
301、404、200、304等HTTP状态意思301、404、200、304等HTTP状态意思301、404、200、304等HTTP状态意思
301、404、200、304等HTTP状态
在网站建设的实际应用中,容易出现很多小小的失误,就像mysql当初优化不到位,影响整体网站的浏览效果一样,其实,网站的常规http状态码的表现也是一样,Google无法验证网站几种解决办法,提及到由于404状态页面设置不正常,导致了google管理员工具无法验证的情况,当然,影响的不仅仅是这一方面,影响的更是网站的整体浏览效果。因此,比较清楚详细的了解http状态码的具体含义,对于一个网站站长
200、302、304、404、500等HTTP状态码
必知的状态码:200 - 服务器成功返回网页 404 - 请求的网页不存在 503 - 服务器超时 访问 HTTP 状态码 W3C 页 获取更多信息。1xx(临时响应) 表示临时响应并需要请求者继续执行操作的状态码。 状态码 含义 100(继续) 请求者应当继续提出请求。服务器返回此代码表示已收到请求的第一部分,正在等待其余部分。 101(切换协议) 请求者已要求服务器切换协议,
强制缓存(200)和协商缓存(304)整理
1、浏览器缓存 浏览器第一次打开一个网页获取资源后,根据返回的header信息来告诉如何缓存资源。 浏览器第一次请求: 浏览器后续请求时: 浏览器在请求某一资源时,会先获取该资源缓存的header信息,判断是否命中强缓存(cache-control和expires信息),若命中直接从缓存中获取资源信息,包括缓存header信息,本次请求就不会与服务器进行通信。 如果没有命中强缓...
301、404、200、304等HTTP状态码
HTTP状态码介绍: https://blog.csdn.net/lyn1772671980/article/details/81664493
python 请求是
使用python写webservice 发送的请求是
相关热词 c#异步发送kafka c#窗体编号 c# 操作二进制文件 c# 反射 机制 c#线程 窗体失去响应 c#角度转弧度 c# 解析gps数据 c# vs设置 语法版本 c# json含回车 c#多线程demo