《高性能网站建设指南》阅读笔记_规则14- 使Ajax可缓存

简单的额说就是使用之前的规则应用于Ajax请求。

很多时候我们会发现,当发起主动Ajax请求时,可能需要等待。改善这些主动Ajax请求的最重要的方式就是使响应可缓存。此外前面提到的规则中,规则4压缩组件,规则9减少DNS查找,规则10精简javascript,规则11避免重定向,规则13配置与禁用ETag

因为规则3使用缓存最重要,所以这里只介绍这一点

书中给的一个例子是雅虎邮箱的,用户如果查看没有将正文下载到本地的邮件,就会产生一个主动的ajax请求。但是如果关闭了这个网站之后又回来,就会发送相同的请求。因为之前的ajax响应并没有保存在浏览器缓存中。没有被缓存的原因是有一个值为no-storeCache-Control头以及一个日期为过去的Expires头,这些都告诉浏览器不要缓存。如果能使用一个长久的Expires头替换这些头就会缓存。但是一般认为:这应该是一个动态生成的响应只包含这个世界上的一个用户的相关信息,缓存这些东西似乎是没有意义的。作者认为,一个用户可能在一天或一周中多次查看这个邮件,如果缓存了响应,就会看到缓慢的和快速的用户体验的差距。

当然,是这些ajax请求可缓存,除了改变HTTP头之外还需要更多的工作,响应的个性化和动态本质必须反映到缓存中,可以采用的最好方式是使用查询字符串参数。例如这个响应只对当前用户有效可以将用户名放到查询字符串中做到这一点,还有一点是要反映出确认的信息,如具体的哪一封邮件的缓存,可以使用邮件的唯一ID

示例:

Ws/mail/v1/rormrpc?m=GetMessage&yId=steve_souders&msgid=001234

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值