http 强缓存 协商缓存 什么是强缓存 协商缓存 有什么用

在前端性能优化中就需要用到强缓存以及协商缓存来减少资源的请求以及流量的消耗

 

本篇文章只讲理念,之后有时间再说一下强缓存和协商缓存的实践

 

首先当我们打开页面时就会加载资源(css,js,img),然后浏览器就会缓存这些资源文件,而强缓存就是设置资源的响应头里面的过期时间为几个月或者几年(这个响应头是需要服务端的同学配合设置的)

比如我随意打开一个网站的资源,查看它的响应头,可以看到这里设置了expires  2020年才过期

这样,浏览器第一次的时候会向服务端请求资源,然后把资源缓存,之后如果再加载到相同的资源文件,就不会再向服务端发起请求,而是从缓存里面找文件,直到文件的缓存时间过期 或者Ctrl+F5强制刷新页面才会向服务器请求

应用场景

比如你网站的图片已经确定十几年都不会变化,那么就可以设置它的过期时间久一点,这样就减少了http请求。

 

协商缓存

就是指每次请求资源的时候先与服务端进行验证,判断文件有没有被修改过,如果修改过,就从服务端获取修改后的,最新的资源文件

如果没有修改过,那么就从缓存中读取文件

如图,last-modified表示的就是文件的最近修改时间

在nginx 中设置

add_header Cache-Control no-cache;

即可让资源文件使用协商缓存

 

总而言之,强缓存就是设置一个时间,浏览器在该时间内的资源访问都不会再向服务端发起请求,而是使用缓存中的资源文件

协商缓存则是每次请求资源都向服务端协商,询问服务端文件是否被修改,有改则改,没有改动就用缓存文件

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值