理解web缓存

web缓存是web用于临时存储各种资源的一种技术。

web缓存大概分两种,一种是前端缓存,另一种是后端端缓存。

 

前端缓存

浏览器缓存

浏览器自带的缓存机制。

比如说浏览器后退前进的动作,一般使用浏览器的缓存机制,部分浏览器有网页加速缓存机制。

 

html页面缓存

<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="0">

作用不大,对于特定代理服务器没有。

 

cookies缓存

比如:登录认证,偏好设置,浏览痕迹等。

PS:如何在已有的cookies上更新cookie的值。

        在cookies的值加入随机字符串,或者先清除所有的cookie,重新创建新的cookie。设置cookie一定要设置过期时间。

 

补充:个人不建议使用给文件加随机数作为版本号,因为随机数是一个伪随机数,不是真正意义的随机数,这涉及一个算法问题,不深究。

 

后端缓存

服务器缓存(http缓存)

通过http请求头来通知浏览器缓存页面

首次请求。

Expires:http response的响应时间。

Cache-control:控制浏览器中页面缓存状态。

Last-Modified:浏览器最后一次请求服务端资源修改的日期。

再次请求

Etag/If-None-Match:url实体标签,类似于token,如果没有修改就返回状态码304,不会发送资源。

If-Modified-Since:再次请求服务端资源修改的日期,如果没有修改就返回状态码304,不会发送资源。

 

PS:Cache-control设置了max-age与s-max-age值的话,Expires会被忽略,为了保证客户端能够获取到最新资源,建议都定义以上字段。

 

数据缓存

一般指的是使用了缓存数据库,把数据缓存在服务器内存或磁盘。

PS:一定要及时更新缓存数据库的数据,同步主数据库的数据,保证数据一致性。

 

总结:合理使用缓存可以减少用户和服务器端的带宽使用,提高访问速度,否则就会出现数据更新不及时等问题。

 

补充:

更新前端项目方法

方法一:使用webpack打包生成的项目,自己手动删除旧文件。先把dist文件夹上传上去,然后一个个按照上传的日期去删除。

缺点:工作繁琐,担心一时手误删除文件。

 

方法二:使用文件同步软件,把dist文件夹自动与ftp文件夹同步。

优点:避免自己误删其他文件,自动删除旧项目,平滑更新生产环境的项目。·

转载于:https://www.cnblogs.com/Sroot/p/8920570.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值