Nginx对于图片,js等静态文件的缓存设置

本文介绍了Nginx中如何为不同类型的静态资源(如图片、JavaScript文件)设置缓存策略,包括使用expires指令实现缓存时间控制及利用last_modified与etag进行条件请求的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以下是自学it网--中级班上课笔记

            网址:www.zixue.it


Nginx对于图片,js等静态文件的缓存设置

注:这个缓存是指针对浏览器所做的缓存,不是指服务器端的数据缓存.

主要知识点: location expires指令

        location ~ \.(jpg|jpeg|png|gif)$ {

            expires 1d;

        }

        location ~ \.js$ {

           expires 1h;

        }

设置并载入新配置文件,用firebug观察,

会发现 图片内容,没有再次产生新的请求,原因--利用了本地缓存的效果.

注: 在大型的新闻站,或文章站中,图片变动的可能性很小,建议做1周左右的缓存

Js,css等小时级的缓存.

如果信息流动比较快,也可以不用expires指令,

用last_modified, etag功能(主流的web服务器都支持这2个头信息)

原理是:

响应: 计算响应内容的签名, etag 和 上次修改时间

请求: 发送 etatg, If-Modified-Since 头信息.

服务器收到后,判断etag是否一致, 最后修改时间是否大于if-Modifiled-Since 

如果监测到服务器的内容有变化,则返回304,

浏览器就知道,内容没变,直接用缓存.

304 比起上面的expires 指令

多了1次请求,

但是比200状态,少了传输内容.


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值