UNPKG

node-web-mvc

Version:
53 lines (52 loc) 2.15 kB
/** * @module CacheControl * @description http缓存控制 */ export default class CacheControl { /** * 表明响应可以被任何对象(包括:发送请求的客户端,代理服务器,等等)缓存, * 即使是通常不可缓存的内容。 * (例如:1.该响应没有max-age指令或Expires消息头;2. 该响应对应的请求方法是 POST 。) */ isPublic?: boolean; /** * 表明响应只能被单个用户缓存, * 不能作为共享缓存(即代理服务器不能缓存它)。私有缓存可以缓存响应内容,比如:对应用户的本地浏览器。 */ isPrivate?: boolean; /** * 在发布缓存副本之前,强制要求缓存把请求提交给原始服务器进行验证(协商缓存验证)。 */ noCache?: boolean; /** * 缓存不应存储有关客户端请求或服务器响应的任何内容,即不使用任何缓存。 */ noStore?: boolean; /** * 不得对资源进行转换或转变。 * Content-Encoding、Content-Range、Content-Type等HTTP头不能由代理修改。 * 例如,非透明代理或者如Google's Light Mode可能对图像格式进行转换, * 以便节省缓存空间或者减少缓慢链路上的流量。no-transform指令不允许这样做。 */ noTransform?: boolean; /** * 设置缓存存储的最大周期,超过这个时间缓存被认为过期(单位秒)。 * 与Expires相反,时间是相对于请求的时间。 */ maxAge?: number; /** * 覆盖max-age或者Expires头,但是仅适用于共享缓存(比如各个代理),私有缓存会忽略它 */ sMaxAge?: number; /** * 一旦资源过期(比如已经超过max-age), * 在成功向原始服务器验证之前,缓存不能用该资源响应后续请求。 */ mustRevalidate?: boolean; /** * 与must-revalidate作用相同,但它仅适用于共享缓存(例如代理),并被私有缓存忽略 */ proxyRevalidate?: boolean; constructor(options: CacheControl); toString(): string; }