HTTP协议学习笔记之(六)http缓存详解

http缓存详解

HTTP协议缓存控制###

在浏览器查看图片,
第一次请求时,200ok
第二次请求时,304 Not Modified 未修改状态
解释:
在网络上,有一些缓存服务器,另外,浏览器自身也有缓存功能,当我们第一次浏览某图片时,正常下载图片,返回值200,基于一个前提,图片不会经常改动服务器在返回200的同时,还返回该图片的“签名” -- Etag,(签名可以理解为图片的“身份证号”)
当浏览器再次访问该图片时,会去请求服务器校验“身份证号”,如果图片没有变化,直接使用缓存中的图片,这样减轻了服务器的负担。

抓包观察####

第一次请求头

第一次响应头

第二次请求头

请求头中红框中的意思是:
如果在“Wed, 22 Feb 2017 05:59:13 GMT”这个时间点以后,图片修改过,则重新请求,如果该图片最新的Etag值和If-None-Match的值不匹配,则重新请求。
第二次响应头

第二次的相应信息

如果是304,就意味着刘篮球从本地取数据,节省了图片在网络上的传输时间。

如果网站比较大,有N台缓存服务器,那么这N台缓存服务器,如何处理主服务器上的文件?
1、要不要缓存
2、缓存多久

思考:这说明 缓存服务器与主服务器之间,应该有一些协议,来说明这两个问题。那么,使用什么协议来说明这两个问题。
答:还是使用http协议,用头信息 cache_control来控制

具体用法:在主服务器,打开apache的expires扩展,利用该扩展来控制图片,css,html等文件,控制是否缓存,以及缓存生命周期。

posted @ 2017-02-24 19:31  FullStackMe  阅读(81)  评论(0)    收藏  举报