expires 1h 为什么没生效呢?

Expires
我们先回过头在看之前的两种缓存协商办法,浏览器给Web服务器发送HTTP请求来询问是否可以使用缓存。如果Web服务器告诉浏览器使用缓存,

那么浏览器就直接使用缓存呈现给用户,你是否发现,这个询问的HTTP请求是不是也占用了Web服务器的资源,即便不产生任何的数据传输,用户还是需要等待这个请求发送到响应完毕。那么能不能不发送HTTP请求呢?比如第一次浏览器请求完毕后,Web服务器告诉浏览器这个网页保存1小时,你1个小时之内不要再过来烦我哦。

和Last-Modified、Etab一样我们常用的Web服务器Apache、Nginx都支持过期时间(Expires)的设置,当浏览器第一次请求资源的时候,Web服务器设置一个过期时间,那么在这段时间内,浏览器会直接使用本地缓存,而不发送任何的缓存协商。请看下面这个Nginx的配置实例:



location /backoffice  {
            root /var/www/html;
            index  index.html index.htm;
            expires 1h;
        }
		
但是实际我修改nginx上的页面,浏览器还是立即生效了,为啥呢?

浏览器压根就没有使用缓冲:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章