http缓存

http缓存:
网站中的图片,第一次请求:200 ok
第二次请求返回:304  未修改 表示使用缓存中的图片

 

 

一个图片发送到客户端,会把图片传给客户端,而且还在响应信息中有一个Etag和Last-Madified头信息,
相当于图片的指纹,Etag表示的是图片的身份证,Last-Modified表示最后修改时间 第二次访问的请求头:If-Modified-Since:上次响应的Last-Mododified值 If-None-Match:上次的Etag值,作用是比较是否是一张图片 是一张图片,而且最后修改时间一致,就会返回状态码Status Code :304代表浏览器可以从本地去缓存,
这样服务器就可以不用重新传送信息,就会减轻服务器负担,节省时间

 

服务器如何控制缓存

在主服务器,打开Apache的expires扩展,利用该扩展控制图片是否缓存,缓存多少时间
还要书写.htaccess文件,具体写法可以参照Apache手册mod_expires

 .htaccess文件

例如:
ExpiresActive  On
ExpiresBytype image/jpeg  "access plus 30 days"
如何不缓存:
请求信息添加头信息:Cache-Control: no-store,must-revalidate
也可以利用Apache的header模块实现不缓存
开启header模块
在.htaccess文件中添加
<FilesMatch   "\.(gif)$">
    header set Cache-Control "no-store,must-revalidate"
</FilesMatch>

  //表示gif图片不缓存

posted @ 2015-10-01 21:17  飘逸110  阅读(202)  评论(0编辑  收藏  举报