html中关于页面缓存的标记

页面缓存有3种:客户端缓存、代理缓存 proxy cache、服务器(或反向代理缓存)gateway cache。本文只介绍客户端缓存。客户端从服务器请求数据经历如下基本步骤: 

  1、如果请求命中本地缓存(根据完整URL)则从本地缓存中获取一个对应资源的"copy" 

  2、检查这个"copy"是否fresh,是则直接返回,否则继续向服务器转发请求。 

  3、服务器接收到请求,然后判断资源是否变更,是则返回新内容,否则返回304,未变更。 

  4、客户端更新本地缓存。 

 

以下介绍html页面(包括jsp、asp等)中,缓存标记的意义。因为这些缓存标记是由浏览器识别的,而每个浏览器识别的缓存标记略有不同,所以有些标记通用性不够。

  1. html的meta是一种缓存注解,但要解析html才能知道,效果不是很好,支持的浏览器也有限。
  2. Pragma因为标准文档没有明确的描述,所有有的地方不能正常工作
  3. Expires(http头部)是应用最广的缓存标识。但是它要设置过期时间(Date类型),比较不方便。

    可以用response.setDateHeader().另外是需要客户端和服务器时间一致。

  4. Cache-Control是http1.1定义的一个http头部,用于弥补Expires的不足。同时出现时优先级比Expires高。no-cache是跳过步骤2,所以也可能使用缓存;而no-store才是真正不用缓存,即不存在copy

    must-revalidatemax-age=0作用与no-cache类似。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值