浏览器缓存

控制浏览器缓存有2种方式:

时间控制

Last-modified

为绝对时间,服务器端通过系统调用获得文件的修改时间,将其加入HTTP头,header("Last-modified:".gmdate("")." GMT");,返回给浏览器,浏览器将文件缓存到本地,并且记录上次修改时间,当再次发起请求时,会首先请求SERVER,文件是否被修改过,如果被修改过,请求文件内容,否则不请求内容。

Expires

Expire为绝对时间,如果服务器返回一个文件的Expires给客户端,浏览器将其保存到本地,当浏览器再次请求文件时,如果在当前的Expire时间内,不去请求SERVER,否则请求SERVER文件的内容

Cache-Control

max-age:3000 为相对时间,服务器将Cache-Control返回给浏览器,当浏览器再次请求文件时,如果此文件在max-age之内被缓存的,则不去请求SERVER。

优先级(都存在时以谁为准)

Cache-Control > Expires > Last-modified

ETAG方式

通过在文件头添加一段唯一串,来标记是否需要重新请求,例如可以用文件的MD5值

posted @ 2014-04-03 12:30  我就是熊吉  阅读(131)  评论(0编辑  收藏  举报