HTML静态画面-反向代理缓存和浏览器缓存使用和原理分析

1.有时为了让前台加速访问或者让变化不频繁的页面进行缓存,可以在后台代码进行设定header返回cache时间。

设置这个文章列表页面的缓存有效期是60s,是public ,反向代理缓存可以存在60s,之后过期,在下次访问该页面时,重新生成缓存。

比如,第一次访问时,生成缓存,然后60s内,不论谁访问该页面都有在使用反向代理缓存。过了60s,重新生成缓存。

第一次访问需要花费700ms,之后60s内访问就是50ms,的等待时间。

所有的访问都返回200

 

2.以下是使用了etag和last-modified

在启用了max-age的情况下,不管etag和文件是否被修改,都是要等到max-age过期之后,的访问,才会校验etag和last-modify,如果文件有变化,则会缓存一下。也就是说max-age比etag优先。在max-age过期之前的请求,web缓存会返回为修改或是未过期,使用了浏览器缓存,会返回304,强制刷新返回200,返回的是反向代理缓存。

在没有max-age的情况下,只要更新了文件,etag和last-modify 有了变化,就更新缓存。没有修改就返回304

。感觉加了etag和last-modify主要用于浏览器缓存。

减少了浏览器的重复请求。

比如文章修改了,或是新增了,生成反向代理缓存,需要时即时的,可以用etag和last-modify,不用max-age。如果是文章列表,访问频繁,且不需要添加一篇文章就立即展示在列表的,可以用max-age 加 etag和last-modify,减少web压力。

现在这些页面的缓存是通过访问页面生成的,需要访问页面预热反向代理缓存。

Leave a comment