node-web-mvc
Version:
node spring mvc
53 lines (52 loc) • 2.15 kB
TypeScript
/**
* @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;
}