Http Cache 简介

##什么是HTTP CACHE?

Http Cache是一种客户端和服务器进行“高效交流”的机制。当我们使用浏览器去访问一个页面时,浏览器在显示该页面的时候也会将该页面缓存到本地,如果我们下次访问同一个页面,如果页面没有变化服务器就会返回304 Not Modified给浏览器,此时浏览器就不需要重新下载网页,直接显示本地缓存的网页即可。

##Http Cache的作用
上面判断是否有更新的过程用到的就是Http Cache。
当浏览器第一次访问网页A时,服务器会在Response的Header里面发送如下状态标示给浏览器:

1
2
Etag               427fe7b6442f2096dff4f92339305444
Last-Modified Fri, 04 Sep 2009 05:55:43 GMT

这就是告诉浏览器,A页面的最后修改时间和Etag浏览器会将A页面和这些状态标识一并缓存起来。当浏览器再次访问A页面时,在Request 的Header里面就会加上如下的状态标识:

1
2
If-None-Match           27fe7b6442f2096dff4f92339305444
If-Modified-Since Fri, 04 Sep 2009 05:55:43 GMT

这就是告诉服务器,我本地缓存的A页面最后修改时间和Etag,服务器拿到浏览器传来的最后修改时间和Etag之后,开始进行核对,检查在用户上次请求后是否有新的内容:

如果有新的内容,则重复第一次访问的情况,缓存网页和新的Etag与最后修改时间如果没有内容更新,则直接返回304 Not Modified。这是告诉浏览器,没有内容更新,不需要重新下载网页,使用本地缓存即可。使用HttpCache不仅可以提高Web Server的性能减少重复下载相同网页的带宽消耗,也可以的客户端响应速度更快,有更好的体验,并且减少客户端的流量消耗和电量消耗。

##Http Cache 如何使用:

要使用HttpCache,这个需要客户端和服务端都遵守这套“交流机制”,这样当客户端访问一个URL的时候,需要带上Http Cache指定的标示符,服务端需要解析这些特定的标识符,并且返回相对应的标识符给客户端,客户端需要缓存这些标识符。这样,服务端和客户端都遵从这一标准就可以实现Http Cache的功能,提高性能。