找回丢失的桌面图标透明效果
2010-09-14 10:12
253 查看
搜集了一些关于header中cache的配置信息
-------------------------------------
为了在http的响应头中添加入Expires、Cache-Control、Pragma这样的信息,我最初是使用的在网页<head></head>元素之间添加meta标签的方式,来企图添加这些http头信息到Response中,但这样的方式一直没有效果。通过查看页面源代码,发现meta标签也确实已经正确的加上了,但通过FF观察Response对象又没有输出相应的头信息。而当我改用Filter的方式,在Filter中通过获取Response对象,执行response.setHeader()方法,将http头信息写入Response对象时,就立即看到效果了。为什么会这样呢?
究其原因,其实是我对meta标签的误解造成的。Meta标签是html标准中的一个标签,是Response中html内容的一部分。它主要是用来为浏览器或搜索引擎提供与网页内容相关的信息的,也就是说它是为能够解析html语言的工具提供信息的。而http是一个应用层的协议,html文档只不过是http协议可以携带的内容之一。
那些包含meta标签信息的html文档都被http当做是普通文档而包装在body块中进行传输。因此,存在于meta标签中的这些模拟的http头信息,并不能够真正的对http头产生影响。而在程序的Filter对象中,通过response.setHeader()方法,由于操作的对象Response就是一个http响应对象的实例,所以当然可以成功的改变Response的头信息。 http://hi.baidu.com/tianpaomian/blog/item/fb4741129463925bf819b8d7.html ---------------------------------------
在setHeader expires 的时候,也可以使用
Max-age和mod_expires
expires指定了一个确定的时间,这就要求客户端和服务器端在时间上保持一致。
除了expires,在http1.1中还有个可选择的Cache-Control相应头,通过Cache-Control的Max-age指令可以指定缓存的内容的生
命期限,即多久后失效,cache-conctrol类似:
Cache-Control: max-age=315360000
如果同时设置了expires和max-age指令,max-age将会覆盖expires。 http://blog.sina.com.cn/s/blog_6b93a42d0100vhzj.html -------------------------------------
-------------------------------------
为了在http的响应头中添加入Expires、Cache-Control、Pragma这样的信息,我最初是使用的在网页<head></head>元素之间添加meta标签的方式,来企图添加这些http头信息到Response中,但这样的方式一直没有效果。通过查看页面源代码,发现meta标签也确实已经正确的加上了,但通过FF观察Response对象又没有输出相应的头信息。而当我改用Filter的方式,在Filter中通过获取Response对象,执行response.setHeader()方法,将http头信息写入Response对象时,就立即看到效果了。为什么会这样呢?
究其原因,其实是我对meta标签的误解造成的。Meta标签是html标准中的一个标签,是Response中html内容的一部分。它主要是用来为浏览器或搜索引擎提供与网页内容相关的信息的,也就是说它是为能够解析html语言的工具提供信息的。而http是一个应用层的协议,html文档只不过是http协议可以携带的内容之一。
那些包含meta标签信息的html文档都被http当做是普通文档而包装在body块中进行传输。因此,存在于meta标签中的这些模拟的http头信息,并不能够真正的对http头产生影响。而在程序的Filter对象中,通过response.setHeader()方法,由于操作的对象Response就是一个http响应对象的实例,所以当然可以成功的改变Response的头信息。 http://hi.baidu.com/tianpaomian/blog/item/fb4741129463925bf819b8d7.html ---------------------------------------
public static void setCacheExpireDate(HttpServletResponse response, int seconds) { if (response != null) { Calendar cal = new GregorianCalendar(); cal.add(Calendar.SECOND, seconds); response.setHeader("Cache-Control", "PUBLIC, max-age=" + seconds + ", must-revalidate"); response.setHeader("Expires", htmlExpiresDateFormat().format(cal.getTime())); } } public static DateFormat htmlExpiresDateFormat() { DateFormat httpDateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.US); httpDateFormat.setTimeZone(TimeZone.getTimeZone("GMT")); return httpDateFormat; }
在setHeader expires 的时候,也可以使用
response.setDateHeader("Expires",System.currentTimeMillis()+3600*1000);http://weblogs.java.net/blog/felipegaucho/archive/2007/08/expires_http_he.html -------------------------------------
Max-age和mod_expires
expires指定了一个确定的时间,这就要求客户端和服务器端在时间上保持一致。
除了expires,在http1.1中还有个可选择的Cache-Control相应头,通过Cache-Control的Max-age指令可以指定缓存的内容的生
命期限,即多久后失效,cache-conctrol类似:
Cache-Control: max-age=315360000
如果同时设置了expires和max-age指令,max-age将会覆盖expires。 http://blog.sina.com.cn/s/blog_6b93a42d0100vhzj.html -------------------------------------
相关文章推荐
- 找回xp丢失的显示桌面图标
- 找回电脑桌面上丢失的IE图标
- 任务栏显示桌面图标丢失的找回方法
- 找回丢失的Windows任务栏图标(快速启动栏/显示桌面/语言栏等等)
- 找回丢失的“显示桌面”图标
- 找回丢失的任务栏“显示桌面”图标、快速返回桌面快捷键
- 找回丢失的“显示桌面”图标
- 找回丢失的IE、网上邻居等桌面图标
- 关于".scf"文件与找回丢失的显示桌面图标
- 快速启动桌面图标丢失的解决方法
- 桌面快捷方式丢失 找回方法
- 一个VB.NET写的简单图片缩放处理组件源代码,支持添加半透明效果小图标
- android桌面图标更换后不起效果
- 找回Windows Vista桌面IE7.0图标
- 桌面图标背景透明
- 找回丢失的显示桌面快捷方式
- 如何使桌面上的图标背景透明
- 找回任务栏显示桌面图标及Win7如何显示快速启动栏
- 找回快速启动栏的显示桌面图标
- 【Vista找回桌面的图标和修改启动时间】