
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
在web前端开发中所有缓存都有一系列配置来决定什么时候从缓存中获取页面,一些规则是在协议如HTTP 1.0和1.1中设置,一些是由缓存的管理员设置,或者是浏览器缓存的用户,或者是代理缓存的管理者。通常有下面这些通用的规则:
如果Http响应的头部告诉浏览器缓存不要保存它,浏览器缓存就不会保存该页面
如果请求是授权或加密(如 HTTPS), 那么其响应结果不会被缓存。
一个已经被缓存的页面如果满足下面条件会被认为是新鲜的,所谓新鲜意思是不要检查源服务器就能发往客户端:
在Http头部有失效时间或其他时间年龄控制的信息,现在该页面还存在于有效期呢。
如果缓存发现这个页面是相对之前的修改是最近一次。
新鲜的页面会直接从缓存中获得,而无需检查原始服务器。
如果页面是旧的过时的,原始服务器会被要求进行校验,或告诉缓存它里面的拷贝是否正常。
在某些情况下,比如网络失联情况下,缓存在不检查原始服务器的情况下会提供旧的页面。
如果一个响应中没有出现验证器(ETag或Last-Modified头),那它就没有任何明确的刷新信息,它通常会 - 但并不总是 - 被认为不可被缓存的。
总之,新鲜度和验证是缓存内容的工作原理与最重要途径。新鲜页面能够立即从高速缓存中获得,而一个验证表示如果它并没有被改变过,就可以避免发送整个页面的内容。