减少服务器压力,不再折磨用户钱包,缓存早该这么优化了!

前言

性能优化第一步,便是管理好页面的缓存,避免重复下载资源。否则,即增加服务器压力,又折磨用户的钱包。

减少服务器压力,不再折磨用户钱包,缓存早该这么优化了!

浏览器缓存机制

  1. 访问页面,请求各种资源,浏览器检查本地是否有缓存。

  2. 如果有,检查资源是否过期。没过期,直接使用缓存。过期了,便向服务器发出请求。

  3. 发出的请求中会带上etag和last-modified首部字段。

  4. 服务器会通过Etag和last-modified来判断浏览器缓存的资源是否已经不可用。

  5. 如果资源仍然有效,便返回304告知浏览器使用缓存。否则返回更新后的资源。

按照这一套逻辑,便可规划好网站的缓存。

减少服务器压力,不再折磨用户钱包,缓存早该这么优化了!

如果资源提前过期,如何通知浏览器更新资源?

通常无法做到这一点,因为浏览器发现资源没过期,根本不会发出请求。但是可以通过修改资源的网址来实现。所以需要给资源文件名加上版本号或者随机标记。例如 style.1234.css。也就是说,不要让浏览器缓存html文件,否则,过期之前,浏览器都不会请求服务器。


分享到:


相關文章: