public class HeaderParser
extends java.lang.Object
| 构造器和说明 |
|---|
HeaderParser() |
| 限定符和类型 | 方法和说明 |
|---|---|
static <T> void |
addCacheHeaders(Request request,
CacheEntity<T> cacheEntity,
CacheMode cacheMode)
对每个请求添加默认的请求头,如果有缓存,并返回缓存实体对象
Cache-Control: max-age=0 以秒为单位
If-Modified-Since: Mon, 19 Nov 2012 08:38:01 GMT 缓存文件的最后修改时间。
|
static <T> CacheEntity<T> |
createCacheEntity(Headers responseHeaders,
T data,
CacheMode cacheMode,
java.lang.String cacheKey)
根据请求结果生成对应的缓存实体类,以下为缓存相关的响应头
Cache-Control: public 响应被缓存,并且在多用户间共享
Cache-Control: private 响应只能作为私有缓存,不能在用户之间共享
Cache-Control: no-cache 提醒浏览器要从服务器提取文档进行验证
Cache-Control: no-store 绝对禁止缓存(用于机密,敏感文件)
Cache-Control: max-age=60 60秒之后缓存过期(相对时间),优先级比Expires高
Date: Mon, 19 Nov 2012 08:39:00 GMT 当前response发送的时间
Expires: Mon, 19 Nov 2012 08:40:01 GMT 缓存过期的时间(绝对时间)
Last-Modified: Mon, 19 Nov 2012 08:38:01 GMT 服务器端文件的最后修改时间
ETag: "20b1add7ec1cd1:0" 服务器端文件的ETag值
如果同时存在cache-control和Expires,浏览器总是优先使用cache-control
|
public static <T> CacheEntity<T> createCacheEntity(Headers responseHeaders, T data, CacheMode cacheMode, java.lang.String cacheKey)
responseHeaders - 返回数据中的响应头data - 解析出来的数据cacheMode - 缓存的模式cacheKey - 缓存的keypublic static <T> void addCacheHeaders(Request request, CacheEntity<T> cacheEntity, CacheMode cacheMode)
request - 请求类cacheEntity - 缓存实体类cacheMode - 缓存模式