对浏览器的缓存机制来做个简要的总结:首先通过 Cache-Control 验证强缓存是否可用;如果强缓存可用,直接使用;否则进入协商缓存,即发送 HTTP 请求,服务器通过请求头中的If-Modified-Since或者If-None-Match这些条件请求字段检查资源是否更新。若资源更新,返回资源和200 状态码;否则,返回304,告诉浏览器直接从缓存获取资源

Koa 和 Express 的设计风格非常类似,底层也都是共用的同一套 HTTP 基础库,但是有几个显著的区别,除了上面提到的默认异步解决方案之外,主要的特点还有下面几个。

Session 是在服务端保存的一个数据结构,用来跟踪用户的状态,这个数据可以保存在集群、数据库、文件中;
Cookie 是客户端保存用户信息的一种机制,用来记录用户的一些信息,也是实现 Session 的一种方式;
LocalStorage 是 Web Storage API 的一种类型,能在浏览器端存储键值对数据;
SessionStorage 只存储当前会话页(tab 页)的数据,一旦用户关闭当前页或者浏览器,数据就自动被清除掉了。