全球旧事资料 分类
总述r
r
许多页面都包含不经常变化的资源,比如CSS文件,图片文件,JS文件等。下载这些资源需要时间,这会增加页面加载所需的时间。HTTP缓存允许我们把这些资源保存在本r
地浏览器或者代理服务器上。资源被缓存后,在之后访问该页面时,浏览器或者代理就可以从本地直接获得已经缓存好的副本而无需重新下载。缓存是一种双赢的方法:r
用户可以通过减少大量的HTTP请求来缩短消息往返时间,同时还可以明显减少响应的总有效负载大小。而且因为缓存可以为后续用户访问缩短大量的PLT,它还可以显著r
减少网站的带宽和服务器运行成本。r
r
浏览器端缓存1r
代理服务器端缓存2r
r
优化浏览器端缓存1r
r
概述r
r
在HTTP头信息里为静态资源设置过期日期或者最大生命周期,可以使浏览器优先从本地硬盘载入之前下载的资源,而非从网络重新下载。r
r
详述r
r
HTTPS协议支持浏览器端对静态资源进行本地缓存。一些最新的浏览器(IE7,Chrome)采用探索法来决定那些没有明显标识缓存头信息的资源的存放时间。r
其他较早的浏览器会在从缓存获取资源之前索要资源的缓存头信息。有的浏览器则从不缓存通过SSL传输的任何资源。r
r
为了能够在所有浏览器中长久充分利用缓存,我们建议用户对网络服务器明确设置缓存头信息,并且将其应用于所有可以缓存的静态资源,而不仅仅是r
子集(比如图片)。可缓存的资源包括JSCSS文件,图像文件以及其他二进制文件(媒体文件,PDF,flash文件等等)。一般来说,HTML不是静态的,r
因此被认为是不可缓存的。r
r
HTTP11提供以下的缓存响应头信息:r
r
Expires和CacheCo
trolmax_age。它们标明了资源的有效生命期,在这个时期内,浏览器可以使用缓存的资源而不用查看远端服务器上是否有更新版本的资源可r
用。这两者是“强缓存头信息”,因为它们是无条件使用的,也就是说,一旦这些头信息被设定并且资源已下载,在截止日期之前浏览器不会为该资源发出任何GET请求。r
r
LastModified和ETag。它们标明了资源的一些属性,浏览器会查看这些属性来判断本地和服务器端文件是否一样。在LastModified头信息中,总会有一个日期。r
而在ETag头信息中,就可能是各种可以唯一识别该资源的信息(通常是文件版本或者内容的hash值)。LastModified是“弱缓存头信息”,因为浏览器会采用探索法来决定r
是否从缓存中获取这个文件(探索法根据浏览器不同而不同)。但是,当用户明确重载页面时,这些头信息允许浏览器发出有条件的GET请求,从而有效的更新已经缓存的r
资源文件。r
好听全球资料 返回顶部